doing preanalysis on-demand

Reviewed By: jeremydubreil

Differential Revision: D3352767

fbshipit-source-id: a9dcc0a
master
Sam Blackshear 9 years ago committed by Facebook Github Bot 5
parent 60d9a19ae0
commit fd8a864c15

@ -727,11 +727,15 @@ let module Node = {
Sil.Prune (convert_exp origin_exp) loc is_true_branch if_kind,
...instrs
]
| Sil.Nullify origin_pvar loc => [Sil.Nullify (convert_pvar origin_pvar) loc, ...instrs]
| Sil.Declare_locals typed_vars loc => {
let new_typed_vars = IList.map (fun (pvar, typ) => (convert_pvar pvar, typ)) typed_vars;
[Sil.Declare_locals new_typed_vars loc, ...instrs]
}
| Sil.Nullify _
| Abstract _
| Sil.Remove_temps _ =>
/* these are generated instructions that will be replaced by the preanalysis */
instrs
| instr => [instr, ...instrs];
let convert_node_kind =
fun

@ -1429,6 +1429,7 @@ let do_analysis exe_env =
let analyze_ondemand proc_desc =
let proc_name = Cfg.Procdesc.get_proc_name proc_desc in
let tenv = Exe_env.get_tenv exe_env proc_name in
Preanal.doit proc_desc (Exe_env.get_cg exe_env) tenv;
let summaryfp =
Config.run_in_footprint_mode (analyze_proc exe_env) proc_desc in
Specs.add_summary proc_name summaryfp;

@ -11,25 +11,7 @@
open! Utils
(** mutate the cfg/cg to add dynamic dispatch handling *)
let add_dispatch_calls pdesc cg tenv f_translate_typ_opt =
let pname_translate_types pname =
match f_translate_typ_opt with
| Some f_translate_typ ->
(match pname with
| Procname.Java pname_java ->
let param_type_strs =
IList.map Procname.java_type_to_string (Procname.java_get_parameters pname_java) in
let receiver_type_str = Procname.java_get_class_name pname_java in
let return_type_str = Procname.java_get_return_type pname_java in
IList.iter
(fun typ_str -> f_translate_typ tenv typ_str)
(return_type_str :: (receiver_type_str :: param_type_strs))
| Procname.C _
| Procname.ObjC_Cpp _
| Procname.Block _ ->
(* TODO: support this for C/CPP/Obj-C *)
())
| None -> () in
let add_dispatch_calls pdesc cg tenv =
let node_add_dispatch_calls caller_pname node =
(* TODO: handle dynamic dispatch for virtual calls as well *)
let call_flags_is_dispatch call_flags =
@ -65,9 +47,7 @@ let add_dispatch_calls pdesc cg tenv f_translate_typ_opt =
because choosing all targets is too expensive for everyday use *)
[target_pname] in
IList.iter
(fun target_pname ->
pname_translate_types target_pname;
Cg.add_edge cg caller_pname target_pname)
(fun target_pname -> Cg.add_edge cg caller_pname target_pname)
targets_to_add;
let call_flags' = { call_flags with Sil.cf_targets = targets_to_add; } in
Sil.Call (ret_ids, call_exp, args, loc, call_flags')
@ -79,7 +59,8 @@ let add_dispatch_calls pdesc cg tenv f_translate_typ_opt =
IList.map replace_dispatch_calls instrs
|> Cfg.Node.replace_instrs node in
let pname = Cfg.Procdesc.get_proc_name pdesc in
Cfg.Procdesc.iter_nodes (node_add_dispatch_calls pname) pdesc
if Procname.is_java pname then
Cfg.Procdesc.iter_nodes (node_add_dispatch_calls pname) pdesc
(** add instructions to perform abstraction *)
let add_abstraction_instructions pdesc =
@ -237,8 +218,7 @@ let add_nullify_instrs pdesc tenv =
let exit_node = ProcCfg.Exceptional.exit_node nullify_proc_cfg in
node_add_nullify_instructions exit_node (AddressTaken.Domain.elements address_taken_vars)
let doit ?(f_translate_typ=None) pdesc cg tenv =
let doit pdesc cg tenv =
add_nullify_instrs pdesc tenv;
if !Config.curr_language = Config.Java
then add_dispatch_calls pdesc cg tenv f_translate_typ;
add_dispatch_calls pdesc cg tenv;
add_abstraction_instructions pdesc;

@ -13,5 +13,4 @@ open! Utils
(** Preanalysis for eliminating dead local variables *)
(** Perform liveness analysis *)
val doit : ?f_translate_typ:(Tenv.t -> string -> unit) option -> Cfg.Procdesc.t -> Cg.t -> Tenv.t
-> unit
val doit : Cfg.Procdesc.t -> Cg.t -> Tenv.t -> unit

@ -66,7 +66,6 @@ let do_source_file source_file ast =
let tenv_file = DB.source_dir_get_internal_file source_dir ".tenv" in
let cfg_file = DB.source_dir_get_internal_file source_dir ".cfg" in
let cg_file = DB.source_dir_get_internal_file source_dir ".cg" in
Cfg.iter_proc_desc cfg (fun _ pdesc -> Preanal.doit pdesc call_graph tenv);
Cg.store_to_file cg_file call_graph;
Cfg.store_cfg_to_file cfg_file true cfg;
(*Logging.out "Tenv %a@." Sil.pp_tenv tenv;*)

@ -42,18 +42,12 @@ let init_global_state source_file =
Config.nLOC := nLOC
let store_icfg tenv cg cfg program =
let f_translate_typ tenv typ_str =
let cn = JBasics.make_cn typ_str in
ignore (JTransType.get_class_type program tenv cn) in
let store_icfg tenv cg cfg =
let source_dir = DB.source_dir_from_source_file !DB.current_source in
begin
let cfg_file = DB.source_dir_get_internal_file source_dir ".cfg" in
let cg_file = DB.source_dir_get_internal_file source_dir ".cg" in
if Config.create_harness then Harness.create_harness cfg cg tenv;
Cfg.iter_proc_desc
cfg
(fun _ pdesc -> Preanal.doit ~f_translate_typ:(Some f_translate_typ) pdesc cg tenv);
Cg.store_to_file cg_file cg;
Cfg.store_cfg_to_file cfg_file true cfg;
if Config.debug_mode then
@ -75,7 +69,7 @@ let do_source_file
JFrontend.compute_source_icfg
linereader classes program tenv
source_basename package_opt in
store_icfg tenv call_graph cfg program
store_icfg tenv call_graph cfg
let capture_libs linereader program tenv =
@ -90,7 +84,7 @@ let capture_libs linereader program tenv =
init_global_state fake_source_file;
let call_graph, cfg =
JFrontend.compute_class_icfg linereader program tenv node in
store_icfg tenv call_graph cfg program;
store_icfg tenv call_graph cfg;
JFrontend.cache_classname cn;
end in
JBasics.ClassMap.iter (capture_class tenv) (JClasspath.get_classmap program)

@ -30,12 +30,11 @@ let init_global_state source_filename =
Ident.NameGenerator.reset ();
Config.nLOC := FileLOC.file_get_loc source_filename
let store_icfg tenv cg cfg =
let store_icfg cg cfg =
let source_dir = DB.source_dir_from_source_file !DB.current_source in
let get_internal_file = DB.source_dir_get_internal_file source_dir in
let cg_file = get_internal_file ".cg" in
let cfg_file = get_internal_file ".cfg" in
Cfg.iter_proc_desc cfg (fun _ pdesc -> Preanal.doit pdesc cg tenv);
Cg.store_to_file cg_file cg;
Cfg.store_cfg_to_file cfg_file true cfg;
if Config.debug_mode then
@ -57,5 +56,5 @@ let () =
let lexbuf = Lexing.from_channel stdin in
let prog = LParser.program LLexer.token lexbuf in
let (cfg, cg, tenv) = LTrans.trans_program prog in
store_icfg tenv cg cfg;
store_icfg cg cfg;
store_tenv tenv

@ -4,19 +4,19 @@ digraph iCFG {
15 -> 14 ;
14 [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 12]\n *&x:double =(n$9 + 1.000000) [line 12]\n REMOVE_TEMPS(n$9); [line 12]\n " shape="box"]
14 [label="14: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 12]\n *&x:double =(n$9 + 1.000000) [line 12]\n " shape="box"]
14 -> 13 ;
13 [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 13]\n *&x:double =(n$8 - 1.000000) [line 13]\n REMOVE_TEMPS(n$8); [line 13]\n " shape="box"]
13 [label="13: BinaryOperatorStmt: SubAssign \n n$8=*&x:double [line 13]\n *&x:double =(n$8 - 1.000000) [line 13]\n " shape="box"]
13 -> 12 ;
12 [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 14]\n *&x:double =(n$7 / 1.000000) [line 14]\n REMOVE_TEMPS(n$7); [line 14]\n " shape="box"]
12 [label="12: BinaryOperatorStmt: DivAssign \n n$7=*&x:double [line 14]\n *&x:double =(n$7 / 1.000000) [line 14]\n " shape="box"]
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); [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 " shape="box"]
11 -> 10 ;
@ -24,31 +24,31 @@ digraph iCFG {
10 -> 9 ;
9 [label="9: BinaryOperatorStmt: ShlAssign \n n$5=*&b:int [line 17]\n *&b:int =(n$5 << 1) [line 17]\n REMOVE_TEMPS(n$5); [line 17]\n " shape="box"]
9 [label="9: BinaryOperatorStmt: ShlAssign \n n$5=*&b:int [line 17]\n *&b:int =(n$5 << 1) [line 17]\n " shape="box"]
9 -> 8 ;
8 [label="8: BinaryOperatorStmt: ShrAssign \n n$4=*&b:int [line 18]\n *&b:int =(n$4 >> 1) [line 18]\n REMOVE_TEMPS(n$4); [line 18]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: ShrAssign \n n$4=*&b:int [line 18]\n *&b:int =(n$4 >> 1) [line 18]\n " shape="box"]
8 -> 7 ;
7 [label="7: BinaryOperatorStmt: RemAssing \n n$3=*&b:int [line 19]\n *&b:int =(n$3 % 1) [line 19]\n REMOVE_TEMPS(n$3); [line 19]\n " shape="box"]
7 [label="7: BinaryOperatorStmt: RemAssing \n n$3=*&b:int [line 19]\n *&b:int =(n$3 % 1) [line 19]\n " shape="box"]
7 -> 6 ;
6 [label="6: BinaryOperatorStmt: AndAssign \n n$2=*&b:int [line 20]\n *&b:int =(n$2 & 1) [line 20]\n REMOVE_TEMPS(n$2); [line 20]\n " shape="box"]
6 [label="6: BinaryOperatorStmt: AndAssign \n n$2=*&b:int [line 20]\n *&b:int =(n$2 & 1) [line 20]\n " shape="box"]
6 -> 5 ;
5 [label="5: BinaryOperatorStmt: OrAssign \n n$1=*&b:int [line 21]\n *&b:int =(n$1 | 1) [line 21]\n REMOVE_TEMPS(n$1); [line 21]\n " shape="box"]
5 [label="5: BinaryOperatorStmt: OrAssign \n n$1=*&b:int [line 21]\n *&b:int =(n$1 | 1) [line 21]\n " shape="box"]
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); [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 " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 23]\n " shape="box"]
3 -> 2 ;

@ -4,15 +4,15 @@ digraph iCFG {
6 -> 5 ;
5 [label="5: DeclStmt \n *&large_int:int =9223372036854775807 [line 19]\n NULLIFY(&large_int); [line 19]\n " shape="box"]
5 [label="5: DeclStmt \n *&large_int:int =9223372036854775807 [line 19]\n " shape="box"]
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); [line 20]\n " shape="box"]
4 [label="4: DeclStmt \n *&overflow_int:int =n$0 [line 20]\n " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 22]\n " shape="box"]
3 -> 2 ;

@ -8,7 +8,7 @@ digraph iCFG {
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); [line 13]\n NULLIFY(&z); [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 " shape="box"]
3 -> 2 ;

@ -4,31 +4,31 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [line 22]\n NULLIFY(&y); [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 " shape="box"]
8 -> 7 ;
@ -36,23 +36,23 @@ digraph iCFG {
7 -> 6 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$4=*&b:int * [line 28]\n n$5=*(n$4 + 1):int [line 28]\n *&a:int =n$5 [line 28]\n REMOVE_TEMPS(n$4,n$5); [line 28]\n " shape="box"]
6 [label="6: BinaryOperatorStmt: Assign \n n$4=*&b:int * [line 28]\n n$5=*(n$4 + 1):int [line 28]\n *&a:int =n$5 [line 28]\n " shape="box"]
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); [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 " shape="box"]
5 -> 4 ;
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:int [line 30]\n *&a:int =n$0 [line 30]\n REMOVE_TEMPS(n$0); [line 30]\n " shape="box"]
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&a:int [line 30]\n *&a:int =n$0 [line 30]\n " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 32]\n " shape="box"]
3 -> 2 ;
2 [label="2: Exit main \n NULLIFY(&a); [line 33]\n " color=yellow style=filled]
2 [label="2: Exit main \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,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
3 -> 2 ;

@ -4,7 +4,7 @@ digraph iCFG {
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); [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 " shape="box"]
5 -> 4 ;

@ -1,10 +1,10 @@
/* @generated */
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); [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 " shape="box"]
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); [line 25]\n NULLIFY(&b); [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 " shape="box"]
6 -> 5 ;
@ -15,7 +15,7 @@ digraph iCFG {
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 22]\n " shape="box"]
3 -> 2 ;

@ -4,19 +4,19 @@ digraph iCFG {
19 -> 18 ;
18 [label="18: DeclStmt \n *&b:int =7 [line 23]\n NULLIFY(&b); [line 23]\n " shape="box"]
18 [label="18: DeclStmt \n *&b:int =7 [line 23]\n " shape="box"]
18 -> 17 ;
17 [label="17: DeclStmt \n *&c:int =3 [line 23]\n NULLIFY(&c); [line 23]\n " shape="box"]
17 [label="17: DeclStmt \n *&c:int =3 [line 23]\n " shape="box"]
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); [line 24]\n NULLIFY(&b); [line 24]\n NULLIFY(&c); [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 " shape="box"]
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); [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 " shape="box"]
15 -> 14 ;
@ -31,15 +31,15 @@ digraph iCFG {
12 -> 11 ;
11 [label="11: DeclStmt \n *&b:int =7 [line 17]\n NULLIFY(&b); [line 17]\n " shape="box"]
11 [label="11: DeclStmt \n *&b:int =7 [line 17]\n " shape="box"]
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); [line 18]\n NULLIFY(&b); [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 " shape="box"]
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); [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 " shape="box"]
9 -> 8 ;
@ -54,15 +54,15 @@ digraph iCFG {
6 -> 5 ;
5 [label="5: DeclStmt \n *&b:int =7 [line 11]\n NULLIFY(&b); [line 11]\n " shape="box"]
5 [label="5: DeclStmt \n *&b:int =7 [line 11]\n " shape="box"]
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); [line 12]\n NULLIFY(&b); [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 " shape="box"]
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); [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 " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
19 [label="19: Prune (false branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 == 0), false); [line 11]\n REMOVE_TEMPS(n$14,n$15); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="invhouse"]
19 [label="19: Prune (false branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 == 0), false); [line 11]\n " shape="invhouse"]
19 -> 17 ;
18 [label="18: Prune (true branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 != 0), true); [line 11]\n REMOVE_TEMPS(n$14,n$15); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="invhouse"]
18 [label="18: Prune (true branch) \n n$14=*&p:int ** [line 11]\n n$15=*n$14[0]:int * [line 11]\n PRUNE((n$15 != 0), true); [line 11]\n " shape="invhouse"]
18 -> 17 ;
@ -12,11 +12,11 @@ digraph iCFG {
17 -> 14 ;
16 [label="16: Prune (false branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 == 0), false); [line 13]\n REMOVE_TEMPS(n$11,n$12,n$13); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="invhouse"]
16 [label="16: Prune (false branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 == 0), false); [line 13]\n " shape="invhouse"]
16 -> 13 ;
15 [label="15: Prune (true branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 != 0), true); [line 13]\n REMOVE_TEMPS(n$11,n$12,n$13); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="invhouse"]
15 [label="15: Prune (true branch) \n n$12=*n$11:int * [line 13]\n n$13=*n$12[1]:int [line 13]\n PRUNE((n$13 != 0), true); [line 13]\n " shape="invhouse"]
15 -> 13 ;
@ -29,15 +29,15 @@ digraph iCFG {
13 -> 10 ;
12 [label="12: Prune (false branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 == 0), false); [line 15]\n REMOVE_TEMPS(n$6,n$8,n$9,n$10); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"]
12 [label="12: Prune (false branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 == 0), false); [line 15]\n " shape="invhouse"]
12 -> 9 ;
11 [label="11: Prune (true branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 != 0), true); [line 15]\n REMOVE_TEMPS(n$6,n$8,n$9,n$10); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"]
11 [label="11: Prune (true branch) \n n$6=*&p:int ** [line 15]\n n$9=*n$8:int [line 15]\n n$10=*n$6[n$9]:int * [line 15]\n PRUNE((n$10 != 0), true); [line 15]\n " shape="invhouse"]
11 -> 9 ;
10 [label="10: UnaryOperator \n n$7=*&p:int ** [line 15]\n n$8=*n$7:int * [line 15]\n REMOVE_TEMPS(n$7); [line 15]\n " shape="box"]
10 [label="10: UnaryOperator \n n$7=*&p:int ** [line 15]\n n$8=*n$7:int * [line 15]\n " shape="box"]
10 -> 11 ;
@ -46,15 +46,15 @@ digraph iCFG {
9 -> 5 ;
8 [label="8: Prune (false branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 == 0), false); [line 17]\n REMOVE_TEMPS(n$0,n$1,n$3,n$4,n$5); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="invhouse"]
8 [label="8: Prune (false branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 == 0), false); [line 17]\n " shape="invhouse"]
8 -> 3 ;
7 [label="7: Prune (true branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 != 0), true); [line 17]\n REMOVE_TEMPS(n$0,n$1,n$3,n$4,n$5); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="invhouse"]
7 [label="7: Prune (true branch) \n n$1=*n$0:int * [line 17]\n n$4=*n$3:int [line 17]\n n$5=*n$1[n$4]:int [line 17]\n PRUNE((n$5 != 0), true); [line 17]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: UnaryOperator \n n$2=*&p:int ** [line 17]\n n$3=*n$2:int * [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n NULLIFY(&p); [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 " shape="box"]
6 -> 7 ;
@ -63,7 +63,7 @@ digraph iCFG {
5 -> 6 ;
4 [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
4 [label="4: between_join_and_exit \n " shape="box"]
4 -> 2 ;

@ -1,15 +1,15 @@
/* @generated */
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); [line 13]\n NULLIFY(&x1); [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 " shape="box"]
48 -> 38 ;
48 -> 39 ;
47 [label="47: ConditinalStmt Branch \n n$30=*&z:int [line 13]\n *&SIL_temp_conditional___n$28:int =n$30 [line 13]\n REMOVE_TEMPS(n$30); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
47 [label="47: ConditinalStmt Branch \n n$30=*&z:int [line 13]\n *&SIL_temp_conditional___n$28:int =n$30 [line 13]\n " shape="box"]
47 -> 43 ;
46 [label="46: ConditinalStmt Branch \n n$29=*&z:int [line 13]\n *&SIL_temp_conditional___n$28:int =n$29 [line 13]\n REMOVE_TEMPS(n$29); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
46 [label="46: ConditinalStmt Branch \n n$29=*&z:int [line 13]\n *&SIL_temp_conditional___n$28:int =n$29 [line 13]\n " shape="box"]
46 -> 43 ;
@ -25,16 +25,16 @@ digraph iCFG {
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); [line 16]\n NULLIFY(&x2); [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 " shape="box"]
42 -> 27 ;
42 -> 28 ;
41 [label="41: ConditinalStmt Branch \n n$26=*&z:int [line 16]\n *&SIL_temp_conditional___n$24:int =n$26 [line 16]\n REMOVE_TEMPS(n$26); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
41 [label="41: ConditinalStmt Branch \n n$26=*&z:int [line 16]\n *&SIL_temp_conditional___n$24:int =n$26 [line 16]\n " shape="box"]
41 -> 37 ;
40 [label="40: ConditinalStmt Branch \n n$25=*&z:int [line 16]\n *&SIL_temp_conditional___n$24:int =n$25 [line 16]\n REMOVE_TEMPS(n$25); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
40 [label="40: ConditinalStmt Branch \n n$25=*&z:int [line 16]\n *&SIL_temp_conditional___n$24:int =n$25 [line 16]\n " shape="box"]
40 -> 37 ;
@ -50,16 +50,16 @@ digraph iCFG {
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); [line 19]\n NULLIFY(&SIL_temp_conditional___n$20); [line 19]\n NULLIFY(&x3); [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 " shape="box"]
36 -> 21 ;
36 -> 22 ;
35 [label="35: ConditinalStmt Branch \n n$22=*&z:int [line 19]\n *&SIL_temp_conditional___n$20:int =n$22 [line 19]\n REMOVE_TEMPS(n$22); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
35 [label="35: ConditinalStmt Branch \n n$22=*&z:int [line 19]\n *&SIL_temp_conditional___n$20:int =n$22 [line 19]\n " shape="box"]
35 -> 31 ;
34 [label="34: ConditinalStmt Branch \n n$21=*&z:int [line 19]\n *&SIL_temp_conditional___n$20:int =n$21 [line 19]\n REMOVE_TEMPS(n$21); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
34 [label="34: ConditinalStmt Branch \n n$21=*&z:int [line 19]\n *&SIL_temp_conditional___n$20:int =n$21 [line 19]\n " shape="box"]
34 -> 31 ;
@ -75,11 +75,11 @@ digraph iCFG {
31 -> 36 ;
30 [label="30: ConditinalStmt Branch \n n$18=*&z:int [line 19]\n *&SIL_temp_conditional___n$16:int =n$18 [line 19]\n REMOVE_TEMPS(n$18); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
30 [label="30: ConditinalStmt Branch \n n$18=*&z:int [line 19]\n *&SIL_temp_conditional___n$16:int =n$18 [line 19]\n " shape="box"]
30 -> 26 ;
29 [label="29: ConditinalStmt Branch \n n$17=*&z:int [line 19]\n *&SIL_temp_conditional___n$16:int =n$17 [line 19]\n REMOVE_TEMPS(n$17); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
29 [label="29: ConditinalStmt Branch \n n$17=*&z:int [line 19]\n *&SIL_temp_conditional___n$16:int =n$17 [line 19]\n " shape="box"]
29 -> 26 ;
@ -96,16 +96,16 @@ digraph iCFG {
26 -> 32 ;
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); [line 22]\n NULLIFY(&y1); [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 " shape="box"]
25 -> 15 ;
25 -> 16 ;
24 [label="24: ConditinalStmt Branch \n n$14=*&z:int [line 22]\n *&SIL_temp_conditional___n$12:int =n$14 [line 22]\n REMOVE_TEMPS(n$14); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
24 [label="24: ConditinalStmt Branch \n n$14=*&z:int [line 22]\n *&SIL_temp_conditional___n$12:int =n$14 [line 22]\n " shape="box"]
24 -> 20 ;
23 [label="23: ConditinalStmt Branch \n n$13=*&z:int [line 22]\n *&SIL_temp_conditional___n$12:int =n$13 [line 22]\n REMOVE_TEMPS(n$13); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
23 [label="23: ConditinalStmt Branch \n n$13=*&z:int [line 22]\n *&SIL_temp_conditional___n$12:int =n$13 [line 22]\n " shape="box"]
23 -> 20 ;
@ -121,16 +121,16 @@ digraph iCFG {
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); [line 24]\n NULLIFY(&y2); [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 " shape="box"]
19 -> 4 ;
19 -> 5 ;
18 [label="18: ConditinalStmt Branch \n n$10=*&z:int [line 24]\n *&SIL_temp_conditional___n$8:int =n$10 [line 24]\n REMOVE_TEMPS(n$10); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
18 [label="18: ConditinalStmt Branch \n n$10=*&z:int [line 24]\n *&SIL_temp_conditional___n$8:int =n$10 [line 24]\n " shape="box"]
18 -> 14 ;
17 [label="17: ConditinalStmt Branch \n n$9=*&z:int [line 24]\n *&SIL_temp_conditional___n$8:int =n$9 [line 24]\n REMOVE_TEMPS(n$9); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
17 [label="17: ConditinalStmt Branch \n n$9=*&z:int [line 24]\n *&SIL_temp_conditional___n$8:int =n$9 [line 24]\n " shape="box"]
17 -> 14 ;
@ -146,15 +146,15 @@ digraph iCFG {
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); [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 [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
11 -> 8 ;
@ -170,11 +170,11 @@ digraph iCFG {
8 -> 13 ;
7 [label="7: ConditinalStmt Branch \n n$2=*&z:int [line 26]\n *&SIL_temp_conditional___n$0:int =n$2 [line 26]\n REMOVE_TEMPS(n$2); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
7 [label="7: ConditinalStmt Branch \n n$2=*&z:int [line 26]\n *&SIL_temp_conditional___n$0:int =n$2 [line 26]\n " shape="box"]
7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n n$1=*&z:int [line 26]\n *&SIL_temp_conditional___n$0:int =n$1 [line 26]\n REMOVE_TEMPS(n$1); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
6 [label="6: ConditinalStmt Branch \n n$1=*&z:int [line 26]\n *&SIL_temp_conditional___n$0:int =n$1 [line 26]\n " shape="box"]
6 -> 3 ;

@ -1,23 +1,23 @@
/* @generated */
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); [line 23]\n NULLIFY(&y); [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 " shape="box"]
58 -> 42 ;
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); [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 " shape="box"]
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); [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 " shape="box"]
56 -> 52 ;
55 [label="55: Prune (false branch) \n PRUNE(((n$6 > 1) == 0), false); [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="invhouse"]
55 [label="55: Prune (false branch) \n PRUNE(((n$6 > 1) == 0), false); [line 23]\n " shape="invhouse"]
55 -> 57 ;
54 [label="54: Prune (true branch) \n PRUNE(((n$6 > 1) != 0), true); [line 23]\n REMOVE_TEMPS(n$6); [line 23]\n " shape="invhouse"]
54 [label="54: Prune (true branch) \n PRUNE(((n$6 > 1) != 0), true); [line 23]\n " shape="invhouse"]
54 -> 56 ;
@ -30,36 +30,36 @@ digraph iCFG {
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); [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 " shape="box"]
51 -> 39 ;
50 [label="50: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
50 [label="50: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 24]\n " shape="box"]
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); [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 " shape="box"]
49 -> 40 ;
48 [label="48: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"]
48 [label="48: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 24]\n " shape="invhouse"]
48 -> 50 ;
47 [label="47: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 24]\n REMOVE_TEMPS(n$2); [line 24]\n " shape="invhouse"]
47 [label="47: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 24]\n " shape="invhouse"]
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); [line 24]\n " shape="box"]
46 [label="46: BinaryOperatorStmt: GT \n n$2=*&SIL_temp_conditional___n$1:int [line 24]\n " shape="box"]
46 -> 47 ;
46 -> 48 ;
45 [label="45: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =2 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
45 [label="45: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =2 [line 24]\n " shape="box"]
45 -> 41 ;
44 [label="44: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
44 [label="44: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 24]\n " shape="box"]
44 -> 41 ;
@ -91,15 +91,15 @@ digraph iCFG {
37 -> 31 ;
37 -> 32 ;
36 [label="36: BinaryOperatorStmt: Assign \n *&x:int =0 [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
36 [label="36: BinaryOperatorStmt: Assign \n *&x:int =0 [line 13]\n " shape="box"]
36 -> 30 ;
35 [label="35: Prune (false branch) \n PRUNE(((7 < n$10) == 0), false); [line 12]\n REMOVE_TEMPS(n$10); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
35 [label="35: Prune (false branch) \n PRUNE(((7 < n$10) == 0), false); [line 12]\n " shape="invhouse"]
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); [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 " shape="invhouse"]
34 -> 36 ;
@ -112,7 +112,7 @@ digraph iCFG {
32 -> 33 ;
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 [label="31: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 12]\n " shape="invhouse"]
31 -> 36 ;
@ -125,28 +125,28 @@ digraph iCFG {
29 -> 21 ;
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); [line 16]\n NULLIFY(&n); [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 " shape="box"]
28 -> 10 ;
28 -> 11 ;
27 [label="27: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =2 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
27 [label="27: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =2 [line 16]\n " shape="box"]
27 -> 20 ;
26 [label="26: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
26 [label="26: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 16]\n " shape="box"]
26 -> 20 ;
25 [label="25: Prune (false branch) \n PRUNE(((7 < (n$7 - n$8)) == 0), false); [line 16]\n REMOVE_TEMPS(n$7,n$8); [line 16]\n " shape="invhouse"]
25 [label="25: Prune (false branch) \n PRUNE(((7 < (n$7 - n$8)) == 0), false); [line 16]\n " shape="invhouse"]
25 -> 27 ;
24 [label="24: Prune (true branch) \n PRUNE(((7 < (n$7 - n$8)) != 0), true); [line 16]\n REMOVE_TEMPS(n$7,n$8); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="invhouse"]
24 [label="24: Prune (true branch) \n PRUNE(((7 < (n$7 - n$8)) != 0), true); [line 16]\n " shape="invhouse"]
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); [line 16]\n NULLIFY(&y); [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 " shape="box"]
23 -> 24 ;
@ -155,7 +155,7 @@ digraph iCFG {
22 -> 23 ;
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 [label="21: Prune (true branch) \n PRUNE(((3 < 4) != 0), true); [line 16]\n " shape="invhouse"]
21 -> 26 ;
@ -163,20 +163,20 @@ digraph iCFG {
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); [line 17]\n NULLIFY(&n); [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 " shape="box"]
19 -> 4 ;
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); [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 " shape="box"]
18 -> 9 ;
17 [label="17: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =2 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
17 [label="17: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =2 [line 17]\n " shape="box"]
17 -> 13 ;
16 [label="16: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
16 [label="16: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 17]\n " shape="box"]
16 -> 13 ;
@ -192,7 +192,7 @@ digraph iCFG {
13 -> 18 ;
12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 17]\n " shape="box"]
12 -> 9 ;
@ -209,15 +209,15 @@ digraph iCFG {
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); [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 " shape="box"]
8 -> 2 ;
7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 18]\n " shape="box"]
7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
6 [label="6: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
6 -> 3 ;

@ -1,23 +1,23 @@
/* @generated */
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); [line 35]\n NULLIFY(&SIL_temp_conditional___n$2); [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 " shape="box"]
66 -> 59 ;
65 [label="65: BinaryConditinalStmt Init \n n$0=_fun_test2(2:int ) [line 35]\n n$1=_fun_test2((2 + n$0):int ) [line 35]\n REMOVE_TEMPS(n$0); [line 35]\n " shape="box"]
65 [label="65: BinaryConditinalStmt Init \n n$0=_fun_test2(2:int ) [line 35]\n n$1=_fun_test2((2 + n$0):int ) [line 35]\n " shape="box"]
65 -> 61 ;
65 -> 62 ;
64 [label="64: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
64 [label="64: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 35]\n " shape="box"]
64 -> 60 ;
63 [label="63: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =n$1 [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
63 [label="63: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =n$1 [line 35]\n " shape="box"]
63 -> 60 ;
62 [label="62: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n " shape="invhouse"]
62 [label="62: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 35]\n " shape="invhouse"]
62 -> 64 ;
@ -36,15 +36,15 @@ digraph iCFG {
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); [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 " shape="box"]
57 -> 51 ;
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 31]\n " shape="box"]
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); [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 " shape="box"]
55 -> 52 ;
@ -60,7 +60,7 @@ digraph iCFG {
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); [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 " shape="box"]
51 -> 50 ;
@ -72,24 +72,24 @@ digraph iCFG {
49 -> 53 ;
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); [line 28]\n NULLIFY(&SIL_temp_conditional___n$1); [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 " shape="box"]
48 -> 41 ;
47 [label="47: BinaryConditinalStmt Init \n n$0=*&b:int [line 28]\n NULLIFY(&b); [line 28]\n " shape="box"]
47 [label="47: BinaryConditinalStmt Init \n n$0=*&b:int [line 28]\n " shape="box"]
47 -> 43 ;
47 -> 44 ;
46 [label="46: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
46 [label="46: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 28]\n " shape="box"]
46 -> 42 ;
45 [label="45: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =n$0 [line 28]\n REMOVE_TEMPS(n$0); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
45 [label="45: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =n$0 [line 28]\n " shape="box"]
45 -> 42 ;
44 [label="44: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 28]\n REMOVE_TEMPS(n$0); [line 28]\n " shape="invhouse"]
44 [label="44: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 28]\n " shape="invhouse"]
44 -> 46 ;
@ -108,24 +108,24 @@ digraph iCFG {
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$3); [line 26]\n NULLIFY(&SIL_temp_conditional___n$1); [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 " shape="box"]
39 -> 32 ;
38 [label="38: BinaryConditinalStmt Init \n n$0=*&b:int [line 26]\n NULLIFY(&b); [line 26]\n " shape="box"]
38 [label="38: BinaryConditinalStmt Init \n n$0=*&b:int [line 26]\n " shape="box"]
38 -> 34 ;
38 -> 35 ;
37 [label="37: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
37 [label="37: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 26]\n " shape="box"]
37 -> 33 ;
36 [label="36: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =n$0 [line 26]\n REMOVE_TEMPS(n$0); [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
36 [label="36: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =n$0 [line 26]\n " shape="box"]
36 -> 33 ;
35 [label="35: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 26]\n REMOVE_TEMPS(n$0); [line 26]\n " shape="invhouse"]
35 [label="35: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 26]\n " shape="invhouse"]
35 -> 37 ;
@ -144,24 +144,24 @@ digraph iCFG {
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); [line 22]\n NULLIFY(&SIL_temp_conditional___n$2); [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 " shape="box"]
30 -> 23 ;
29 [label="29: BinaryConditinalStmt Init \n n$1=*&b:int [line 22]\n NULLIFY(&b); [line 22]\n " shape="box"]
29 [label="29: BinaryConditinalStmt Init \n n$1=*&b:int [line 22]\n " shape="box"]
29 -> 25 ;
29 -> 26 ;
28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 22]\n " shape="box"]
28 -> 24 ;
27 [label="27: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =n$1 [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
27 [label="27: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =n$1 [line 22]\n " shape="box"]
27 -> 24 ;
26 [label="26: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 22]\n REMOVE_TEMPS(n$1); [line 22]\n " shape="invhouse"]
26 [label="26: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
26 -> 28 ;
@ -173,7 +173,7 @@ digraph iCFG {
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); [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 " shape="box"]
23 -> 22 ;
@ -184,23 +184,23 @@ digraph iCFG {
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); [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 " shape="box"]
20 -> 14 ;
19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 17]\n " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="invhouse"]
17 -> 19 ;
16 [label="16: Prune (true branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 != 0), true); [line 17]\n REMOVE_TEMPS(n$2); [line 17]\n " shape="invhouse"]
16 [label="16: Prune (true branch) \n n$2=*&b:int [line 17]\n PRUNE((n$2 != 0), true); [line 17]\n " shape="invhouse"]
16 -> 18 ;
@ -208,7 +208,7 @@ digraph iCFG {
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); [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 " shape="box"]
14 -> 13 ;
@ -220,23 +220,23 @@ digraph iCFG {
12 -> 16 ;
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); [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 " shape="box"]
11 -> 5 ;
10 [label="10: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
10 [label="10: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 14]\n " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="invhouse"]
8 -> 10 ;
7 [label="7: Prune (true branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n " shape="invhouse"]
7 [label="7: Prune (true branch) \n n$1=*&b:int [line 14]\n PRUNE((n$1 != 0), true); [line 14]\n " shape="invhouse"]
7 -> 9 ;
@ -252,7 +252,7 @@ digraph iCFG {
4 -> 7 ;
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); [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 " shape="box"]
3 -> 2 ;

@ -1,14 +1,14 @@
/* @generated */
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); [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 [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 " shape="box"]
67 -> 51 ;
66 [label="66: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
66 [label="66: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 20]\n " shape="box"]
66 -> 62 ;
65 [label="65: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
65 [label="65: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 20]\n " shape="box"]
65 -> 62 ;
@ -24,11 +24,11 @@ digraph iCFG {
62 -> 67 ;
61 [label="61: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
61 [label="61: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 20]\n " shape="box"]
61 -> 57 ;
60 [label="60: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
60 [label="60: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 20]\n " shape="box"]
60 -> 57 ;
@ -45,11 +45,11 @@ digraph iCFG {
57 -> 63 ;
57 -> 64 ;
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n " shape="box"]
56 -> 52 ;
55 [label="55: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
55 [label="55: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 20]\n " shape="box"]
55 -> 52 ;
@ -74,15 +74,15 @@ digraph iCFG {
50 -> 53 ;
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); [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 [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 " shape="box"]
49 -> 33 ;
48 [label="48: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
48 [label="48: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
48 -> 44 ;
47 [label="47: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
47 [label="47: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
47 -> 44 ;
@ -98,11 +98,11 @@ digraph iCFG {
44 -> 49 ;
43 [label="43: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
43 [label="43: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 18]\n " shape="box"]
43 -> 39 ;
42 [label="42: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
42 [label="42: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =2 [line 18]\n " shape="box"]
42 -> 39 ;
@ -119,11 +119,11 @@ digraph iCFG {
39 -> 45 ;
39 -> 46 ;
38 [label="38: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
38 [label="38: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
38 -> 34 ;
37 [label="37: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
37 [label="37: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 18]\n " shape="box"]
37 -> 34 ;
@ -148,15 +148,15 @@ digraph iCFG {
32 -> 35 ;
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); [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 [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 " shape="box"]
31 -> 10 ;
30 [label="30: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
30 [label="30: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 15]\n " shape="box"]
30 -> 26 ;
29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 15]\n " shape="box"]
29 -> 26 ;
@ -172,11 +172,11 @@ digraph iCFG {
26 -> 31 ;
25 [label="25: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =2 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
25 [label="25: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =2 [line 15]\n " shape="box"]
25 -> 21 ;
24 [label="24: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =2 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
24 [label="24: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =2 [line 15]\n " shape="box"]
24 -> 21 ;
@ -193,11 +193,11 @@ digraph iCFG {
21 -> 27 ;
21 -> 28 ;
20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 15]\n " shape="box"]
20 -> 16 ;
19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$2:int =1 [line 15]\n " shape="box"]
19 -> 16 ;
@ -214,11 +214,11 @@ digraph iCFG {
16 -> 22 ;
16 -> 23 ;
15 [label="15: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
15 [label="15: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n " shape="box"]
15 -> 11 ;
14 [label="14: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
14 [label="14: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 15]\n " shape="box"]
14 -> 11 ;
@ -243,15 +243,15 @@ digraph iCFG {
9 -> 12 ;
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); [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 " shape="box"]
8 -> 2 ;
7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n " shape="box"]
7 -> 3 ;
6 [label="6: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 [label="6: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:_fn_ (*)=_fun_some_f [line 12]\n " shape="box"]
6 -> 3 ;

@ -1,23 +1,23 @@
/* @generated */
digraph iCFG {
95 [label="95: BinaryOperatorStmt: Assign \n n$13=_fun_getenv(\"BLOCK\":char *) [line 47]\n *&spec:char *=n$13 [line 47]\n REMOVE_TEMPS(n$13); [line 47]\n " shape="box"]
95 [label="95: BinaryOperatorStmt: Assign \n n$13=_fun_getenv(\"BLOCK\":char *) [line 47]\n *&spec:char *=n$13 [line 47]\n " shape="box"]
95 -> 67 ;
95 -> 68 ;
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 [label="94: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 53]\n " shape="box"]
94 -> 90 ;
93 [label="93: Prune (false branch) \n PRUNE(((n$12 == 39) == 0), false); [line 52]\n REMOVE_TEMPS(n$12); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="invhouse"]
93 [label="93: Prune (false branch) \n PRUNE(((n$12 == 39) == 0), false); [line 52]\n " shape="invhouse"]
93 -> 90 ;
92 [label="92: Prune (true branch) \n PRUNE(((n$12 == 39) != 0), true); [line 52]\n REMOVE_TEMPS(n$12); [line 52]\n " shape="invhouse"]
92 [label="92: Prune (true branch) \n PRUNE(((n$12 == 39) != 0), true); [line 52]\n " shape="invhouse"]
92 -> 94 ;
91 [label="91: BinaryOperatorStmt: EQ \n n$11=*&spec:char * [line 52]\n n$12=*n$11:char [line 52]\n REMOVE_TEMPS(n$11); [line 52]\n NULLIFY(&spec); [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 " shape="box"]
91 -> 92 ;
@ -26,35 +26,35 @@ digraph iCFG {
90 -> 65 ;
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 [label="89: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 50]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [line 49]\n NULLIFY(&spec); [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 " shape="invhouse"]
87 -> 89 ;
86 [label="86: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
86 [label="86: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 49]\n " shape="box"]
86 -> 81 ;
85 [label="85: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
85 [label="85: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 49]\n " shape="box"]
85 -> 81 ;
84 [label="84: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 49]\n REMOVE_TEMPS(n$9); [line 49]\n " shape="invhouse"]
84 [label="84: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 49]\n " shape="invhouse"]
84 -> 86 ;
83 [label="83: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 49]\n REMOVE_TEMPS(n$9); [line 49]\n " shape="invhouse"]
83 [label="83: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 49]\n " shape="invhouse"]
83 -> 85 ;
82 [label="82: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 49]\n *&spec:char *=n$8 [line 49]\n n$9=*&spec:char * [line 49]\n REMOVE_TEMPS(n$8); [line 49]\n " shape="box"]
82 [label="82: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 49]\n *&spec:char *=n$8 [line 49]\n n$9=*&spec:char * [line 49]\n " shape="box"]
82 -> 83 ;
@ -64,31 +64,31 @@ digraph iCFG {
81 -> 87 ;
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); [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 " shape="invhouse"]
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); [line 49]\n NULLIFY(&spec); [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 " shape="invhouse"]
79 -> 82 ;
78 [label="78: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
78 [label="78: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 49]\n " shape="box"]
78 -> 73 ;
77 [label="77: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
77 [label="77: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 49]\n " shape="box"]
77 -> 73 ;
76 [label="76: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 49]\n REMOVE_TEMPS(n$5); [line 49]\n " shape="invhouse"]
76 [label="76: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 49]\n " shape="invhouse"]
76 -> 78 ;
75 [label="75: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 49]\n REMOVE_TEMPS(n$5); [line 49]\n " shape="invhouse"]
75 [label="75: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 49]\n " shape="invhouse"]
75 -> 77 ;
74 [label="74: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 49]\n *&spec:char *=n$4 [line 49]\n n$5=*&spec:char * [line 49]\n REMOVE_TEMPS(n$4); [line 49]\n " shape="box"]
74 [label="74: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK_SIZE\":char *) [line 49]\n *&spec:char *=n$4 [line 49]\n n$5=*&spec:char * [line 49]\n " shape="box"]
74 -> 75 ;
@ -98,27 +98,27 @@ digraph iCFG {
73 -> 79 ;
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); [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 " shape="invhouse"]
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); [line 49]\n NULLIFY(&spec); [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 " shape="invhouse"]
71 -> 74 ;
70 [label="70: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
70 [label="70: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 49]\n " shape="box"]
70 -> 66 ;
69 [label="69: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
69 [label="69: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 49]\n " shape="box"]
69 -> 66 ;
68 [label="68: Prune (false branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 == 0), false); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="invhouse"]
68 [label="68: Prune (false branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 == 0), false); [line 49]\n " shape="invhouse"]
68 -> 70 ;
67 [label="67: Prune (true branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 != 0), true); [line 49]\n REMOVE_TEMPS(n$1); [line 49]\n " shape="invhouse"]
67 [label="67: Prune (true branch) \n n$1=*&spec:char * [line 49]\n PRUNE((n$1 != 0), true); [line 49]\n " shape="invhouse"]
67 -> 69 ;
@ -131,7 +131,7 @@ digraph iCFG {
65 -> 64 ;
64 [label="64: Return Stmt \n *&return:int =0 [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"]
64 [label="64: Return Stmt \n *&return:int =0 [line 56]\n " shape="box"]
64 -> 63 ;
@ -142,39 +142,39 @@ digraph iCFG {
62 -> 95 ;
61 [label="61: BinaryOperatorStmt: Assign \n n$11=_fun_getenv(\"BLOCK\":char *) [line 34]\n *&spec:char *=n$11 [line 34]\n REMOVE_TEMPS(n$11); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
61 [label="61: BinaryOperatorStmt: Assign \n n$11=_fun_getenv(\"BLOCK\":char *) [line 34]\n *&spec:char *=n$11 [line 34]\n " shape="box"]
61 -> 36 ;
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 [label="60: BinaryOperatorStmt: Assign \n *&block_size:char *=0 [line 38]\n " shape="box"]
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); [line 37]\n NULLIFY(&spec); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
58 -> 60 ;
57 [label="57: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
57 [label="57: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 37]\n " shape="box"]
57 -> 52 ;
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 37]\n " shape="box"]
56 -> 52 ;
55 [label="55: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 37]\n REMOVE_TEMPS(n$9); [line 37]\n " shape="invhouse"]
55 [label="55: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 37]\n " shape="invhouse"]
55 -> 57 ;
54 [label="54: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 37]\n REMOVE_TEMPS(n$9); [line 37]\n " shape="invhouse"]
54 [label="54: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 37]\n " shape="invhouse"]
54 -> 56 ;
53 [label="53: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$8 [line 37]\n n$9=*&spec:char * [line 37]\n REMOVE_TEMPS(n$8); [line 37]\n " shape="box"]
53 [label="53: BinaryOperatorStmt: Assign \n n$8=_fun_getenv(\"BLOCKSIZE\":char *) [line 37]\n *&spec:char *=n$8 [line 37]\n n$9=*&spec:char * [line 37]\n " shape="box"]
53 -> 54 ;
@ -184,31 +184,31 @@ digraph iCFG {
52 -> 58 ;
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
50 -> 53 ;
49 [label="49: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
49 [label="49: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 36]\n " shape="box"]
49 -> 44 ;
48 [label="48: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
48 [label="48: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 36]\n " shape="box"]
48 -> 44 ;
47 [label="47: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 36]\n REMOVE_TEMPS(n$5); [line 36]\n " shape="invhouse"]
47 [label="47: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 36]\n " shape="invhouse"]
47 -> 49 ;
46 [label="46: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 36]\n REMOVE_TEMPS(n$5); [line 36]\n " shape="invhouse"]
46 [label="46: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 36]\n " shape="invhouse"]
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 REMOVE_TEMPS(n$4); [line 36]\n NULLIFY(&spec); [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 " shape="box"]
45 -> 46 ;
@ -218,27 +218,27 @@ digraph iCFG {
44 -> 50 ;
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
42 -> 45 ;
41 [label="41: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
41 [label="41: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 36]\n " shape="box"]
41 -> 37 ;
40 [label="40: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 36]\n APPLY_ABSTRACTION; [line 36]\n " shape="box"]
40 [label="40: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 36]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
38 -> 40 ;
@ -259,39 +259,39 @@ digraph iCFG {
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); [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 " shape="box"]
33 -> 15 ;
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 [label="32: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 23]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [line 22]\n NULLIFY(&x); [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 " shape="invhouse"]
30 -> 32 ;
29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 22]\n " shape="box"]
29 -> 24 ;
28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 22]\n " shape="box"]
28 -> 24 ;
27 [label="27: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 22]\n REMOVE_TEMPS(n$5); [line 22]\n " shape="invhouse"]
27 [label="27: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 22]\n " shape="invhouse"]
27 -> 29 ;
26 [label="26: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 22]\n REMOVE_TEMPS(n$5); [line 22]\n " shape="invhouse"]
26 [label="26: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 22]\n " shape="invhouse"]
26 -> 28 ;
25 [label="25: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK\":char *) [line 22]\n *&x:int *=n$4 [line 22]\n n$5=*&x:int * [line 22]\n REMOVE_TEMPS(n$4); [line 22]\n " shape="box"]
25 [label="25: BinaryOperatorStmt: Assign \n n$4=_fun_getenv(\"BLOCK\":char *) [line 22]\n *&x:int *=n$4 [line 22]\n n$5=*&x:int * [line 22]\n " shape="box"]
25 -> 26 ;
@ -301,27 +301,27 @@ digraph iCFG {
24 -> 30 ;
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
22 -> 25 ;
21 [label="21: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
21 [label="21: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 22]\n " shape="box"]
21 -> 17 ;
20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
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 " shape="invhouse"]
19 [label="19: Prune (false branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 == 0), false); [line 22]\n " shape="invhouse"]
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 " shape="invhouse"]
18 [label="18: Prune (true branch) \n n$1=*&x:int * [line 22]\n PRUNE((n$1 != 0), true); [line 22]\n " shape="invhouse"]
18 -> 20 ;
@ -330,7 +330,7 @@ digraph iCFG {
17 -> 22 ;
17 -> 23 ;
16 [label="16: between_join_and_exit \n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
16 [label="16: between_join_and_exit \n " shape="box"]
16 -> 14 ;
@ -346,32 +346,32 @@ digraph iCFG {
13 -> 18 ;
13 -> 19 ;
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 [label="12: BinaryOperatorStmt: Assign \n *&x:int *=32 [line 17]\n " shape="box"]
12 -> 3 ;
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 [label="11: BinaryOperatorStmt: Assign \n *&x:int *=17 [line 15]\n " shape="box"]
11 -> 3 ;
10 [label="10: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n " shape="invhouse"]
10 [label="10: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 14]\n " shape="invhouse"]
10 -> 12 ;
9 [label="9: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="invhouse"]
9 [label="9: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 14]\n " shape="invhouse"]
9 -> 11 ;
8 [label="8: BinaryOperatorStmt: EQ \n n$1=*&x:int * [line 14]\n n$2=*n$1:int [line 14]\n REMOVE_TEMPS(n$1); [line 14]\n NULLIFY(&x); [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 " shape="box"]
8 -> 9 ;
8 -> 10 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$0 == 0) == 0), false); [line 14]\n " shape="invhouse"]
7 -> 8 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 14]\n " shape="invhouse"]
6 -> 11 ;
@ -380,7 +380,7 @@ digraph iCFG {
5 -> 6 ;
5 -> 7 ;
4 [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
4 [label="4: between_join_and_exit \n " shape="box"]
4 -> 2 ;

@ -1,22 +1,22 @@
/* @generated */
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); [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 " shape="box"]
34 -> 28 ;
33 [label="33: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
33 [label="33: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 29]\n " shape="box"]
33 -> 29 ;
32 [label="32: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
32 [label="32: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 29]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
30 -> 32 ;
@ -32,40 +32,40 @@ digraph iCFG {
27 -> 30 ;
27 -> 31 ;
26 [label="26: Return Stmt \n *&return:int =0 [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
26 [label="26: Return Stmt \n *&return:int =0 [line 25]\n " shape="box"]
26 -> 14 ;
25 [label="25: Return Stmt \n *&return:int =1 [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
25 [label="25: Return Stmt \n *&return:int =1 [line 23]\n " shape="box"]
25 -> 14 ;
24 [label="24: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="invhouse"]
24 [label="24: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n " shape="invhouse"]
24 -> 26 ;
23 [label="23: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="invhouse"]
23 [label="23: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n " shape="invhouse"]
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 REMOVE_TEMPS(n$2); [line 22]\n NULLIFY(&SIL_temp_conditional___n$0); [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 " shape="box"]
22 -> 23 ;
22 -> 24 ;
21 [label="21: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
21 [label="21: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 22]\n " shape="box"]
21 -> 17 ;
20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
20 [label="20: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
18 -> 20 ;
@ -73,7 +73,7 @@ digraph iCFG {
17 -> 22 ;
16 [label="16: between_join_and_exit \n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
16 [label="16: between_join_and_exit \n " shape="box"]
16 -> 14 ;
@ -89,28 +89,28 @@ digraph iCFG {
13 -> 18 ;
13 -> 19 ;
12 [label="12: Return Stmt \n *&return:int =0 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
12 [label="12: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
12 -> 5 ;
11 [label="11: Return Stmt \n *&return:int =1 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
11 [label="11: Return Stmt \n *&return:int =1 [line 14]\n " shape="box"]
11 -> 5 ;
10 [label="10: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="invhouse"]
10 [label="10: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n " shape="invhouse"]
10 -> 12 ;
9 [label="9: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="invhouse"]
9 [label="9: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n " shape="invhouse"]
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 REMOVE_TEMPS(n$0); [line 13]\n NULLIFY(&x); [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 " shape="box"]
8 -> 9 ;
8 -> 10 ;
7 [label="7: between_join_and_exit \n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
7 [label="7: between_join_and_exit \n " shape="box"]
7 -> 5 ;
@ -125,7 +125,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,14 +1,14 @@
/* @generated */
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); [line 22]\n NULLIFY(&z); [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 " shape="box"]
24 -> 18 ;
23 [label="23: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
23 [label="23: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 22]\n " shape="box"]
23 -> 19 ;
22 [label="22: ConditinalStmt Branch \n n$1=_fun_ret_ptr(4:int ) [line 22]\n n$2=*n$1.field:int [line 22]\n *&SIL_temp_conditional___n$0:int =n$2 [line 22]\n REMOVE_TEMPS(n$1,n$2); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
22 [label="22: ConditinalStmt Branch \n n$1=_fun_ret_ptr(4:int ) [line 22]\n n$2=*n$1.field:int [line 22]\n *&SIL_temp_conditional___n$0:int =n$2 [line 22]\n " shape="box"]
22 -> 19 ;
@ -32,15 +32,15 @@ digraph iCFG {
17 -> 20 ;
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); [line 20]\n NULLIFY(&z); [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 " shape="box"]
16 -> 10 ;
15 [label="15: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =3 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
15 [label="15: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =3 [line 20]\n " shape="box"]
15 -> 11 ;
14 [label="14: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =2 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
14 [label="14: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =2 [line 20]\n " shape="box"]
14 -> 11 ;
@ -64,15 +64,15 @@ digraph iCFG {
9 -> 12 ;
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); [line 17]\n NULLIFY(&z); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
6 -> 3 ;

@ -1,20 +1,20 @@
/* @generated */
digraph iCFG {
26 [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:struct s * [line 15]\n n$17=*n$16.x:int [line 15]\n *n$16.x:int =(n$17 + 1) [line 15]\n REMOVE_TEMPS(n$16,n$17); [line 15]\n " shape="box"]
26 [label="26: BinaryOperatorStmt: AddAssign \n n$16=*&p:struct s * [line 15]\n n$17=*n$16.x:int [line 15]\n *n$16.x:int =(n$17 + 1) [line 15]\n " shape="box"]
26 -> 21 ;
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); [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 " shape="box"]
25 -> 15 ;
25 -> 16 ;
24 [label="24: ConditinalStmt Branch \n n$13=*&p:struct s * [line 16]\n *&SIL_temp_conditional___n$11:struct s *=n$13 [line 16]\n REMOVE_TEMPS(n$13); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
24 [label="24: ConditinalStmt Branch \n n$13=*&p:struct s * [line 16]\n *&SIL_temp_conditional___n$11:struct s *=n$13 [line 16]\n " shape="box"]
24 -> 20 ;
23 [label="23: ConditinalStmt Branch \n n$12=*&p:struct s * [line 16]\n *&SIL_temp_conditional___n$11:struct s *=n$12 [line 16]\n REMOVE_TEMPS(n$12); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
23 [label="23: ConditinalStmt Branch \n n$12=*&p:struct s * [line 16]\n *&SIL_temp_conditional___n$11:struct s *=n$12 [line 16]\n " shape="box"]
23 -> 20 ;
@ -30,16 +30,16 @@ digraph iCFG {
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); [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 " shape="box"]
19 -> 4 ;
19 -> 5 ;
18 [label="18: ConditinalStmt Branch \n *&SIL_temp_conditional___n$8:int =7 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
18 [label="18: ConditinalStmt Branch \n *&SIL_temp_conditional___n$8:int =7 [line 17]\n " shape="box"]
18 -> 14 ;
17 [label="17: ConditinalStmt Branch \n *&SIL_temp_conditional___n$8:int =3 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
17 [label="17: ConditinalStmt Branch \n *&SIL_temp_conditional___n$8:int =3 [line 17]\n " shape="box"]
17 -> 14 ;
@ -55,15 +55,15 @@ digraph iCFG {
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); [line 18]\n NULLIFY(&SIL_temp_conditional___n$4); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
13 [label="13: BinaryOperatorStmt: AddAssign \n n$3=*&SIL_temp_conditional___n$0:struct s * [line 18]\n n$5=*&SIL_temp_conditional___n$4:int [line 18]\n n$6=*n$3.x:int [line 18]\n *n$3.x:int =(n$6 + n$5) [line 18]\n " shape="box"]
13 -> 2 ;
12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =7 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
12 [label="12: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =7 [line 18]\n " shape="box"]
12 -> 8 ;
11 [label="11: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
11 [label="11: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =3 [line 18]\n " shape="box"]
11 -> 8 ;
@ -79,11 +79,11 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
6 -> 3 ;

@ -1,15 +1,15 @@
/* @generated */
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); [line 12]\n NULLIFY(&x); [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 " shape="box"]
20 -> 10 ;
20 -> 11 ;
19 [label="19: ConditinalStmt Branch \n n$12=*&p:int * [line 12]\n *&SIL_temp_conditional___n$10:int *=n$12 [line 12]\n REMOVE_TEMPS(n$12); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
19 [label="19: ConditinalStmt Branch \n n$12=*&p:int * [line 12]\n *&SIL_temp_conditional___n$10:int *=n$12 [line 12]\n " shape="box"]
19 -> 15 ;
18 [label="18: ConditinalStmt Branch \n n$11=*&p:int * [line 12]\n *&SIL_temp_conditional___n$10:int *=n$11 [line 12]\n REMOVE_TEMPS(n$11); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
18 [label="18: ConditinalStmt Branch \n n$11=*&p:int * [line 12]\n *&SIL_temp_conditional___n$10:int *=n$11 [line 12]\n " shape="box"]
18 -> 15 ;
@ -25,16 +25,16 @@ digraph iCFG {
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); [line 14]\n NULLIFY(&y); [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 " shape="box"]
14 -> 4 ;
14 -> 5 ;
13 [label="13: ConditinalStmt Branch \n n$7=*&p:int * [line 14]\n *&SIL_temp_conditional___n$5:int *=n$7 [line 14]\n REMOVE_TEMPS(n$7); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
13 [label="13: ConditinalStmt Branch \n n$7=*&p:int * [line 14]\n *&SIL_temp_conditional___n$5:int *=n$7 [line 14]\n " shape="box"]
13 -> 9 ;
12 [label="12: ConditinalStmt Branch \n n$6=*&p:int * [line 14]\n *&SIL_temp_conditional___n$5:int *=n$6 [line 14]\n REMOVE_TEMPS(n$6); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
12 [label="12: ConditinalStmt Branch \n n$6=*&p:int * [line 14]\n *&SIL_temp_conditional___n$5:int *=n$6 [line 14]\n " shape="box"]
12 -> 9 ;
@ -50,15 +50,15 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
6 -> 3 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
8 [label="8: BinaryOperatorStmt: Assign \n *&today:int =0 [line 22]\n NULLIFY(&today); [line 22]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: Assign \n *&today:int =0 [line 22]\n " shape="box"]
8 -> 7 ;
@ -8,19 +8,19 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
5 [label="5: BinaryOperatorStmt: Assign \n *&today:int =(2 + 1) [line 25]\n NULLIFY(&today); [line 25]\n " shape="box"]
5 [label="5: BinaryOperatorStmt: Assign \n *&today:int =(2 + 1) [line 25]\n " shape="box"]
5 -> 4 ;
4 [label="4: DeclStmt \n *&i:int =(2 + (2 - 0)) [line 26]\n NULLIFY(&i); [line 26]\n " shape="box"]
4 [label="4: DeclStmt \n *&i:int =(2 + (2 - 0)) [line 26]\n " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 27]\n " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
4 [label="4: DeclStmt \n *&option1:int =(1 << 0) [line 16]\n NULLIFY(&option1); [line 16]\n " shape="box"]
4 [label="4: DeclStmt \n *&option1:int =(1 << 0) [line 16]\n " shape="box"]
4 -> 3 ;
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 [label="3: DeclStmt \n *&option2:int =(1 << 1) [line 17]\n " shape="box"]
3 -> 2 ;

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

@ -13,11 +13,11 @@ digraph iCFG {
250 -> 248 ;
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
248 -> 245 ;
@ -25,7 +25,7 @@ digraph iCFG {
247 -> 228 ;
246 [label="246: DeclStmt \n n$7=*&i:int [line 176]\n n$8=*&j:int [line 176]\n n$9=*&k:int [line 176]\n *&v:int =((n$7 + n$8) + n$9) [line 176]\n REMOVE_TEMPS(n$7,n$8,n$9); [line 176]\n " shape="box"]
246 [label="246: DeclStmt \n n$7=*&i:int [line 176]\n n$8=*&j:int [line 176]\n n$9=*&k:int [line 176]\n *&v:int =((n$7 + n$8) + n$9) [line 176]\n " shape="box"]
246 -> 241 ;
@ -33,19 +33,19 @@ digraph iCFG {
245 -> 244 ;
244 [label="244: Call _fun_printf \n n$6=_fun_printf(\"wow\\n\":char *) [line 179]\n REMOVE_TEMPS(n$6); [line 179]\n APPLY_ABSTRACTION; [line 179]\n " shape="box"]
244 [label="244: Call _fun_printf \n n$6=_fun_printf(\"wow\\n\":char *) [line 179]\n " shape="box"]
244 -> 240 ;
243 [label="243: Prune (false branch) \n PRUNE(((n$5 >= 15) == 0), false); [line 177]\n REMOVE_TEMPS(n$5); [line 177]\n APPLY_ABSTRACTION; [line 177]\n " shape="invhouse"]
243 [label="243: Prune (false branch) \n PRUNE(((n$5 >= 15) == 0), false); [line 177]\n " shape="invhouse"]
243 -> 240 ;
242 [label="242: Prune (true branch) \n PRUNE(((n$5 >= 15) != 0), true); [line 177]\n REMOVE_TEMPS(n$5); [line 177]\n APPLY_ABSTRACTION; [line 177]\n " shape="invhouse"]
242 [label="242: Prune (true branch) \n PRUNE(((n$5 >= 15) != 0), true); [line 177]\n " shape="invhouse"]
242 -> 245 ;
241 [label="241: BinaryOperatorStmt: GE \n n$5=*&v:int [line 177]\n NULLIFY(&v); [line 177]\n " shape="box"]
241 [label="241: BinaryOperatorStmt: GE \n n$5=*&v:int [line 177]\n " shape="box"]
241 -> 242 ;
@ -54,11 +54,11 @@ digraph iCFG {
240 -> 236 ;
239 [label="239: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 175]\n REMOVE_TEMPS(n$4); [line 175]\n APPLY_ABSTRACTION; [line 175]\n " shape="invhouse"]
239 [label="239: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 175]\n " shape="invhouse"]
239 -> 232 ;
238 [label="238: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 175]\n REMOVE_TEMPS(n$4); [line 175]\n " shape="invhouse"]
238 [label="238: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 175]\n " shape="invhouse"]
238 -> 246 ;
@ -71,11 +71,11 @@ digraph iCFG {
236 -> 237 ;
235 [label="235: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 174]\n REMOVE_TEMPS(n$3); [line 174]\n APPLY_ABSTRACTION; [line 174]\n " shape="invhouse"]
235 [label="235: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 174]\n " shape="invhouse"]
235 -> 228 ;
234 [label="234: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 174]\n REMOVE_TEMPS(n$3); [line 174]\n APPLY_ABSTRACTION; [line 174]\n " shape="invhouse"]
234 [label="234: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 174]\n " shape="invhouse"]
234 -> 236 ;
@ -88,11 +88,11 @@ digraph iCFG {
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); [line 173]\n NULLIFY(&j); [line 173]\n NULLIFY(&k); [line 173]\n " shape="invhouse"]
231 [label="231: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 173]\n " shape="invhouse"]
231 -> 227 ;
230 [label="230: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 173]\n REMOVE_TEMPS(n$2); [line 173]\n APPLY_ABSTRACTION; [line 173]\n " shape="invhouse"]
230 [label="230: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 173]\n " shape="invhouse"]
230 -> 232 ;
@ -109,7 +109,7 @@ digraph iCFG {
227 -> 226 ;
226 [label="226: Call _fun_printf \n n$1=_fun_printf(\"out!\\n\":char *) [line 186]\n REMOVE_TEMPS(n$1); [line 186]\n " shape="box"]
226 [label="226: Call _fun_printf \n n$1=_fun_printf(\"out!\\n\":char *) [line 186]\n " shape="box"]
226 -> 225 ;
@ -117,11 +117,11 @@ digraph iCFG {
225 -> 224 ;
224 [label="224: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char *) [line 188]\n REMOVE_TEMPS(n$0); [line 188]\n " shape="box"]
224 [label="224: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char *) [line 188]\n " shape="box"]
224 -> 223 ;
223 [label="223: Return Stmt \n *&return:int =2 [line 189]\n APPLY_ABSTRACTION; [line 189]\n " shape="box"]
223 [label="223: Return Stmt \n *&return:int =2 [line 189]\n " shape="box"]
223 -> 222 ;
@ -140,27 +140,27 @@ digraph iCFG {
219 -> 218 ;
218 [label="218: DeclStmt \n *&k:int =0 [line 147]\n APPLY_ABSTRACTION; [line 147]\n " shape="box"]
218 [label="218: DeclStmt \n *&k:int =0 [line 147]\n " shape="box"]
218 -> 200 ;
217 [label="217: DeclStmt \n n$7=*&i:int [line 151]\n n$8=*&j:int [line 151]\n n$9=*&k:int [line 151]\n *&v:int =((n$7 + n$8) + n$9) [line 151]\n REMOVE_TEMPS(n$7,n$8,n$9); [line 151]\n " shape="box"]
217 [label="217: DeclStmt \n n$7=*&i:int [line 151]\n n$8=*&j:int [line 151]\n n$9=*&k:int [line 151]\n *&v:int =((n$7 + n$8) + n$9) [line 151]\n " shape="box"]
217 -> 213 ;
216 [label="216: Call _fun_printf \n n$6=_fun_printf(\"wow\\n\":char *) [line 155]\n REMOVE_TEMPS(n$6); [line 155]\n " shape="box"]
216 [label="216: Call _fun_printf \n n$6=_fun_printf(\"wow\\n\":char *) [line 155]\n " shape="box"]
216 -> 196 ;
215 [label="215: Prune (false branch) \n PRUNE(((n$5 >= 15) == 0), false); [line 152]\n REMOVE_TEMPS(n$5); [line 152]\n " shape="invhouse"]
215 [label="215: Prune (false branch) \n PRUNE(((n$5 >= 15) == 0), false); [line 152]\n " shape="invhouse"]
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); [line 152]\n NULLIFY(&j); [line 152]\n NULLIFY(&k); [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 " shape="invhouse"]
214 -> 199 ;
213 [label="213: BinaryOperatorStmt: GE \n n$5=*&v:int [line 152]\n NULLIFY(&v); [line 152]\n " shape="box"]
213 [label="213: BinaryOperatorStmt: GE \n n$5=*&v:int [line 152]\n " shape="box"]
213 -> 214 ;
@ -169,11 +169,11 @@ digraph iCFG {
212 -> 208 ;
211 [label="211: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 150]\n REMOVE_TEMPS(n$4); [line 150]\n APPLY_ABSTRACTION; [line 150]\n " shape="invhouse"]
211 [label="211: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 150]\n " shape="invhouse"]
211 -> 204 ;
210 [label="210: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 150]\n REMOVE_TEMPS(n$4); [line 150]\n " shape="invhouse"]
210 [label="210: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 150]\n " shape="invhouse"]
210 -> 217 ;
@ -186,11 +186,11 @@ digraph iCFG {
208 -> 209 ;
207 [label="207: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 149]\n REMOVE_TEMPS(n$3); [line 149]\n APPLY_ABSTRACTION; [line 149]\n " shape="invhouse"]
207 [label="207: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 149]\n " shape="invhouse"]
207 -> 200 ;
206 [label="206: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 149]\n REMOVE_TEMPS(n$3); [line 149]\n APPLY_ABSTRACTION; [line 149]\n " shape="invhouse"]
206 [label="206: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 149]\n " shape="invhouse"]
206 -> 208 ;
@ -203,11 +203,11 @@ digraph iCFG {
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); [line 148]\n NULLIFY(&j); [line 148]\n NULLIFY(&k); [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 " shape="invhouse"]
203 -> 199 ;
202 [label="202: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 148]\n REMOVE_TEMPS(n$2); [line 148]\n APPLY_ABSTRACTION; [line 148]\n " shape="invhouse"]
202 [label="202: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 148]\n " shape="invhouse"]
202 -> 204 ;
@ -224,7 +224,7 @@ digraph iCFG {
199 -> 198 ;
198 [label="198: Call _fun_printf \n n$1=_fun_printf(\"out!\\n\":char *) [line 162]\n REMOVE_TEMPS(n$1); [line 162]\n " shape="box"]
198 [label="198: Call _fun_printf \n n$1=_fun_printf(\"out!\\n\":char *) [line 162]\n " shape="box"]
198 -> 197 ;
@ -236,11 +236,11 @@ digraph iCFG {
196 -> 195 ;
195 [label="195: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char *) [line 165]\n REMOVE_TEMPS(n$0); [line 165]\n " shape="box"]
195 [label="195: Call _fun_printf \n n$0=_fun_printf(\"terminating!\\n\":char *) [line 165]\n " shape="box"]
195 -> 194 ;
194 [label="194: Return Stmt \n *&return:int =2 [line 166]\n APPLY_ABSTRACTION; [line 166]\n " shape="box"]
194 [label="194: Return Stmt \n *&return:int =2 [line 166]\n " shape="box"]
194 -> 193 ;
@ -251,31 +251,31 @@ digraph iCFG {
192 -> 220 ;
191 [label="191: Call _fun_printf \n n$9=_fun_printf(\"B\\n\":char *) [line 126]\n REMOVE_TEMPS(n$9); [line 126]\n " shape="box"]
191 [label="191: Call _fun_printf \n n$9=_fun_printf(\"B\\n\":char *) [line 126]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
189 -> 164 ;
188 [label="188: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"]
188 [label="188: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 128]\n " shape="box"]
188 -> 183 ;
187 [label="187: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =0 [line 128]\n APPLY_ABSTRACTION; [line 128]\n " shape="box"]
187 [label="187: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =0 [line 128]\n " shape="box"]
187 -> 183 ;
186 [label="186: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 128]\n REMOVE_TEMPS(n$7); [line 128]\n " shape="invhouse"]
186 [label="186: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 128]\n " shape="invhouse"]
186 -> 188 ;
185 [label="185: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 128]\n REMOVE_TEMPS(n$7); [line 128]\n " shape="invhouse"]
185 [label="185: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 128]\n " shape="invhouse"]
185 -> 187 ;
@ -293,27 +293,27 @@ digraph iCFG {
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
180 -> 162 ;
179 [label="179: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="box"]
179 [label="179: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 130]\n " shape="box"]
179 -> 174 ;
178 [label="178: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="box"]
178 [label="178: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 130]\n " shape="box"]
178 -> 174 ;
177 [label="177: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 130]\n REMOVE_TEMPS(n$4); [line 130]\n " shape="invhouse"]
177 [label="177: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 130]\n " shape="invhouse"]
177 -> 179 ;
176 [label="176: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 130]\n REMOVE_TEMPS(n$4); [line 130]\n " shape="invhouse"]
176 [label="176: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 130]\n " shape="invhouse"]
176 -> 178 ;
@ -335,11 +335,11 @@ digraph iCFG {
172 -> 191 ;
171 [label="171: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 132]\n REMOVE_TEMPS(n$2); [line 132]\n " shape="invhouse"]
171 [label="171: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 132]\n " shape="invhouse"]
171 -> 168 ;
170 [label="170: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 132]\n REMOVE_TEMPS(n$2); [line 132]\n APPLY_ABSTRACTION; [line 132]\n " shape="invhouse"]
170 [label="170: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 132]\n " shape="invhouse"]
170 -> 172 ;
@ -352,15 +352,15 @@ digraph iCFG {
168 -> 164 ;
167 [label="167: DeclStmt \n *&a:int =2 [line 137]\n NULLIFY(&a); [line 137]\n " shape="box"]
167 [label="167: DeclStmt \n *&a:int =2 [line 137]\n " shape="box"]
167 -> 166 ;
166 [label="166: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 138]\n REMOVE_TEMPS(n$1); [line 138]\n " shape="box"]
166 [label="166: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 138]\n " shape="box"]
166 -> 165 ;
165 [label="165: Return Stmt \n *&return:int =1 [line 140]\n APPLY_ABSTRACTION; [line 140]\n " shape="box"]
165 [label="165: Return Stmt \n *&return:int =1 [line 140]\n " shape="box"]
165 -> 161 ;
@ -368,7 +368,7 @@ digraph iCFG {
164 -> 163 ;
163 [label="163: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 142]\n REMOVE_TEMPS(n$0); [line 142]\n APPLY_ABSTRACTION; [line 142]\n " shape="box"]
163 [label="163: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 142]\n " shape="box"]
163 -> 162 ;
@ -383,31 +383,31 @@ digraph iCFG {
160 -> 172 ;
159 [label="159: Call _fun_printf \n n$9=_fun_printf(\"B\\n\":char *) [line 104]\n REMOVE_TEMPS(n$9); [line 104]\n " shape="box"]
159 [label="159: Call _fun_printf \n n$9=_fun_printf(\"B\\n\":char *) [line 104]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
157 -> 132 ;
156 [label="156: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="box"]
156 [label="156: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =1 [line 106]\n " shape="box"]
156 -> 151 ;
155 [label="155: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =0 [line 106]\n APPLY_ABSTRACTION; [line 106]\n " shape="box"]
155 [label="155: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =0 [line 106]\n " shape="box"]
155 -> 151 ;
154 [label="154: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 106]\n REMOVE_TEMPS(n$7); [line 106]\n " shape="invhouse"]
154 [label="154: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 106]\n " shape="invhouse"]
154 -> 156 ;
153 [label="153: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 106]\n REMOVE_TEMPS(n$7); [line 106]\n " shape="invhouse"]
153 [label="153: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 106]\n " shape="invhouse"]
153 -> 155 ;
@ -425,27 +425,27 @@ digraph iCFG {
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
148 -> 130 ;
147 [label="147: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"]
147 [label="147: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 108]\n " shape="box"]
147 -> 142 ;
146 [label="146: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 108]\n APPLY_ABSTRACTION; [line 108]\n " shape="box"]
146 [label="146: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =0 [line 108]\n " shape="box"]
146 -> 142 ;
145 [label="145: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 108]\n REMOVE_TEMPS(n$4); [line 108]\n " shape="invhouse"]
145 [label="145: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 108]\n " shape="invhouse"]
145 -> 147 ;
144 [label="144: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 108]\n REMOVE_TEMPS(n$4); [line 108]\n " shape="invhouse"]
144 [label="144: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 108]\n " shape="invhouse"]
144 -> 146 ;
@ -467,11 +467,11 @@ digraph iCFG {
140 -> 159 ;
139 [label="139: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 110]\n REMOVE_TEMPS(n$2); [line 110]\n " shape="invhouse"]
139 [label="139: Prune (false branch) \n PRUNE(((n$2 > 1) == 0), false); [line 110]\n " shape="invhouse"]
139 -> 136 ;
138 [label="138: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 110]\n REMOVE_TEMPS(n$2); [line 110]\n APPLY_ABSTRACTION; [line 110]\n " shape="invhouse"]
138 [label="138: Prune (true branch) \n PRUNE(((n$2 > 1) != 0), true); [line 110]\n " shape="invhouse"]
138 -> 140 ;
@ -484,15 +484,15 @@ digraph iCFG {
136 -> 132 ;
135 [label="135: DeclStmt \n *&a:int =2 [line 115]\n NULLIFY(&a); [line 115]\n " shape="box"]
135 [label="135: DeclStmt \n *&a:int =2 [line 115]\n " shape="box"]
135 -> 134 ;
134 [label="134: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 116]\n REMOVE_TEMPS(n$1); [line 116]\n " shape="box"]
134 [label="134: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 116]\n " shape="box"]
134 -> 133 ;
133 [label="133: Return Stmt \n *&return:int =1 [line 117]\n APPLY_ABSTRACTION; [line 117]\n " shape="box"]
133 [label="133: Return Stmt \n *&return:int =1 [line 117]\n " shape="box"]
133 -> 129 ;
@ -500,7 +500,7 @@ digraph iCFG {
132 -> 131 ;
131 [label="131: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 120]\n REMOVE_TEMPS(n$0); [line 120]\n APPLY_ABSTRACTION; [line 120]\n " shape="box"]
131 [label="131: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 120]\n " shape="box"]
131 -> 130 ;
@ -515,31 +515,31 @@ digraph iCFG {
128 -> 140 ;
127 [label="127: Call _fun_printf \n n$10=_fun_printf(\"B\\n\":char *) [line 83]\n REMOVE_TEMPS(n$10); [line 83]\n " shape="box"]
127 [label="127: Call _fun_printf \n n$10=_fun_printf(\"B\\n\":char *) [line 83]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
125 -> 99 ;
124 [label="124: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"]
124 [label="124: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 85]\n " shape="box"]
124 -> 119 ;
123 [label="123: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"]
123 [label="123: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 85]\n " shape="box"]
123 -> 119 ;
122 [label="122: Prune (false branch) \n PRUNE((n$8 == 0), false); [line 85]\n REMOVE_TEMPS(n$8); [line 85]\n " shape="invhouse"]
122 [label="122: Prune (false branch) \n PRUNE((n$8 == 0), false); [line 85]\n " shape="invhouse"]
122 -> 124 ;
121 [label="121: Prune (true branch) \n PRUNE((n$8 != 0), true); [line 85]\n REMOVE_TEMPS(n$8); [line 85]\n " shape="invhouse"]
121 [label="121: Prune (true branch) \n PRUNE((n$8 != 0), true); [line 85]\n " shape="invhouse"]
121 -> 123 ;
@ -557,27 +557,27 @@ digraph iCFG {
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
116 -> 102 ;
115 [label="115: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"]
115 [label="115: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 87]\n " shape="box"]
115 -> 110 ;
114 [label="114: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"]
114 [label="114: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 87]\n " shape="box"]
114 -> 110 ;
113 [label="113: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 87]\n REMOVE_TEMPS(n$5); [line 87]\n " shape="invhouse"]
113 [label="113: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 87]\n " shape="invhouse"]
113 -> 115 ;
112 [label="112: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 87]\n REMOVE_TEMPS(n$5); [line 87]\n " shape="invhouse"]
112 [label="112: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 87]\n " shape="invhouse"]
112 -> 114 ;
@ -599,11 +599,11 @@ digraph iCFG {
108 -> 127 ;
107 [label="107: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 89]\n REMOVE_TEMPS(n$3); [line 89]\n " shape="invhouse"]
107 [label="107: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 89]\n " shape="invhouse"]
107 -> 104 ;
106 [label="106: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 89]\n REMOVE_TEMPS(n$3); [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="invhouse"]
106 [label="106: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 89]\n " shape="invhouse"]
106 -> 108 ;
@ -616,7 +616,7 @@ digraph iCFG {
104 -> 103 ;
103 [label="103: Call _fun_printf \n n$2=_fun_printf(\"g4\\n\":char *) [line 91]\n REMOVE_TEMPS(n$2); [line 91]\n APPLY_ABSTRACTION; [line 91]\n " shape="box"]
103 [label="103: Call _fun_printf \n n$2=_fun_printf(\"g4\\n\":char *) [line 91]\n " shape="box"]
103 -> 102 ;
@ -624,11 +624,11 @@ digraph iCFG {
102 -> 101 ;
101 [label="101: DeclStmt \n *&a:int =2 [line 94]\n NULLIFY(&a); [line 94]\n " shape="box"]
101 [label="101: DeclStmt \n *&a:int =2 [line 94]\n " shape="box"]
101 -> 100 ;
100 [label="100: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 95]\n REMOVE_TEMPS(n$1); [line 95]\n APPLY_ABSTRACTION; [line 95]\n " shape="box"]
100 [label="100: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 95]\n " shape="box"]
100 -> 99 ;
@ -636,11 +636,11 @@ digraph iCFG {
99 -> 98 ;
98 [label="98: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 98]\n REMOVE_TEMPS(n$0); [line 98]\n " shape="box"]
98 [label="98: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 98]\n " shape="box"]
98 -> 97 ;
97 [label="97: Return Stmt \n *&return:int =1 [line 99]\n APPLY_ABSTRACTION; [line 99]\n " shape="box"]
97 [label="97: Return Stmt \n *&return:int =1 [line 99]\n " shape="box"]
97 -> 96 ;
@ -651,31 +651,31 @@ digraph iCFG {
95 -> 108 ;
94 [label="94: Call _fun_printf \n n$10=_fun_printf(\"B\\n\":char *) [line 61]\n REMOVE_TEMPS(n$10); [line 61]\n " shape="box"]
94 [label="94: Call _fun_printf \n n$10=_fun_printf(\"B\\n\":char *) [line 61]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
92 -> 65 ;
91 [label="91: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"]
91 [label="91: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =1 [line 63]\n " shape="box"]
91 -> 86 ;
90 [label="90: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"]
90 [label="90: ConditinalStmt Branch \n *&SIL_temp_conditional___n$7:int =0 [line 63]\n " shape="box"]
90 -> 86 ;
89 [label="89: Prune (false branch) \n PRUNE((n$8 == 0), false); [line 63]\n REMOVE_TEMPS(n$8); [line 63]\n " shape="invhouse"]
89 [label="89: Prune (false branch) \n PRUNE((n$8 == 0), false); [line 63]\n " shape="invhouse"]
89 -> 91 ;
88 [label="88: Prune (true branch) \n PRUNE((n$8 != 0), true); [line 63]\n REMOVE_TEMPS(n$8); [line 63]\n " shape="invhouse"]
88 [label="88: Prune (true branch) \n PRUNE((n$8 != 0), true); [line 63]\n " shape="invhouse"]
88 -> 90 ;
@ -693,27 +693,27 @@ digraph iCFG {
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
83 -> 68 ;
82 [label="82: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
82 [label="82: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 65]\n " shape="box"]
82 -> 77 ;
81 [label="81: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
81 [label="81: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 65]\n " shape="box"]
81 -> 77 ;
80 [label="80: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n " shape="invhouse"]
80 [label="80: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 65]\n " shape="invhouse"]
80 -> 82 ;
79 [label="79: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n " shape="invhouse"]
79 [label="79: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 65]\n " shape="invhouse"]
79 -> 81 ;
@ -735,11 +735,11 @@ digraph iCFG {
75 -> 94 ;
74 [label="74: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 67]\n REMOVE_TEMPS(n$3); [line 67]\n " shape="invhouse"]
74 [label="74: Prune (false branch) \n PRUNE(((n$3 > 1) == 0), false); [line 67]\n " shape="invhouse"]
74 -> 71 ;
73 [label="73: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 67]\n REMOVE_TEMPS(n$3); [line 67]\n APPLY_ABSTRACTION; [line 67]\n " shape="invhouse"]
73 [label="73: Prune (true branch) \n PRUNE(((n$3 > 1) != 0), true); [line 67]\n " shape="invhouse"]
73 -> 75 ;
@ -752,11 +752,11 @@ digraph iCFG {
71 -> 70 ;
70 [label="70: Call _fun_printf \n n$2=_fun_printf(\"g3\\n\":char *) [line 69]\n REMOVE_TEMPS(n$2); [line 69]\n " shape="box"]
70 [label="70: Call _fun_printf \n n$2=_fun_printf(\"g3\\n\":char *) [line 69]\n " shape="box"]
70 -> 69 ;
69 [label="69: Return Stmt \n *&return:int =0 [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"]
69 [label="69: Return Stmt \n *&return:int =0 [line 70]\n " shape="box"]
69 -> 62 ;
@ -764,11 +764,11 @@ digraph iCFG {
68 -> 67 ;
67 [label="67: DeclStmt \n *&a:int =2 [line 73]\n NULLIFY(&a); [line 73]\n " shape="box"]
67 [label="67: DeclStmt \n *&a:int =2 [line 73]\n " shape="box"]
67 -> 66 ;
66 [label="66: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 74]\n REMOVE_TEMPS(n$1); [line 74]\n APPLY_ABSTRACTION; [line 74]\n " shape="box"]
66 [label="66: Call _fun_printf \n n$1=_fun_printf(\"A\\n\":char *) [line 74]\n " shape="box"]
66 -> 65 ;
@ -776,11 +776,11 @@ digraph iCFG {
65 -> 64 ;
64 [label="64: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 77]\n REMOVE_TEMPS(n$0); [line 77]\n " shape="box"]
64 [label="64: Call _fun_printf \n n$0=_fun_printf(\"exit\\n\":char *) [line 77]\n " shape="box"]
64 -> 63 ;
63 [label="63: Return Stmt \n *&return:int =1 [line 78]\n APPLY_ABSTRACTION; [line 78]\n " shape="box"]
63 [label="63: Return Stmt \n *&return:int =1 [line 78]\n " shape="box"]
63 -> 62 ;
@ -791,35 +791,35 @@ digraph iCFG {
61 -> 75 ;
60 [label="60: DeclStmt \n *&a:int =0 [line 38]\n NULLIFY(&a); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
60 [label="60: DeclStmt \n *&a:int =0 [line 38]\n " shape="box"]
60 -> 40 ;
59 [label="59: BinaryOperatorStmt: Assign \n *&a:int =1 [line 40]\n NULLIFY(&a); [line 40]\n " shape="box"]
59 [label="59: BinaryOperatorStmt: Assign \n *&a:int =1 [line 40]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
57 -> 31 ;
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
56 [label="56: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =1 [line 42]\n " shape="box"]
56 -> 51 ;
55 [label="55: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
55 [label="55: ConditinalStmt Branch \n *&SIL_temp_conditional___n$4:int =0 [line 42]\n " shape="box"]
55 -> 51 ;
54 [label="54: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 42]\n REMOVE_TEMPS(n$5); [line 42]\n " shape="invhouse"]
54 [label="54: Prune (false branch) \n PRUNE((n$5 == 0), false); [line 42]\n " shape="invhouse"]
54 -> 56 ;
53 [label="53: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 42]\n REMOVE_TEMPS(n$5); [line 42]\n " shape="invhouse"]
53 [label="53: Prune (true branch) \n PRUNE((n$5 != 0), true); [line 42]\n " shape="invhouse"]
53 -> 55 ;
@ -837,27 +837,27 @@ digraph iCFG {
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
48 -> 34 ;
47 [label="47: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
47 [label="47: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 44]\n " shape="box"]
47 -> 42 ;
46 [label="46: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
46 [label="46: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 44]\n " shape="box"]
46 -> 42 ;
45 [label="45: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n " shape="invhouse"]
45 [label="45: Prune (false branch) \n PRUNE((n$2 == 0), false); [line 44]\n " shape="invhouse"]
45 -> 47 ;
44 [label="44: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 44]\n REMOVE_TEMPS(n$2); [line 44]\n " shape="invhouse"]
44 [label="44: Prune (true branch) \n PRUNE((n$2 != 0), true); [line 44]\n " shape="invhouse"]
44 -> 46 ;
@ -879,11 +879,11 @@ digraph iCFG {
40 -> 59 ;
39 [label="39: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 46]\n REMOVE_TEMPS(n$0); [line 46]\n " shape="invhouse"]
39 [label="39: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 46]\n " shape="invhouse"]
39 -> 36 ;
38 [label="38: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 46]\n REMOVE_TEMPS(n$0); [line 46]\n APPLY_ABSTRACTION; [line 46]\n " shape="invhouse"]
38 [label="38: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 46]\n " shape="invhouse"]
38 -> 40 ;
@ -896,7 +896,7 @@ digraph iCFG {
36 -> 35 ;
35 [label="35: Return Stmt \n *&return:int =0 [line 48]\n APPLY_ABSTRACTION; [line 48]\n " shape="box"]
35 [label="35: Return Stmt \n *&return:int =0 [line 48]\n " shape="box"]
35 -> 28 ;
@ -904,11 +904,11 @@ digraph iCFG {
34 -> 33 ;
33 [label="33: BinaryOperatorStmt: Assign \n *&a:int =2 [line 51]\n NULLIFY(&a); [line 51]\n " shape="box"]
33 [label="33: BinaryOperatorStmt: Assign \n *&a:int =2 [line 51]\n " shape="box"]
33 -> 32 ;
32 [label="32: Return Stmt \n *&return:int =2 [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="box"]
32 [label="32: Return Stmt \n *&return:int =2 [line 52]\n " shape="box"]
32 -> 28 ;
@ -916,11 +916,11 @@ digraph iCFG {
31 -> 30 ;
30 [label="30: BinaryOperatorStmt: Assign \n *&a:int =3 [line 55]\n NULLIFY(&a); [line 55]\n " shape="box"]
30 [label="30: BinaryOperatorStmt: Assign \n *&a:int =3 [line 55]\n " shape="box"]
30 -> 29 ;
29 [label="29: Return Stmt \n *&return:int =1 [line 56]\n APPLY_ABSTRACTION; [line 56]\n " shape="box"]
29 [label="29: Return Stmt \n *&return:int =1 [line 56]\n " shape="box"]
29 -> 28 ;
@ -931,15 +931,15 @@ digraph iCFG {
27 -> 60 ;
26 [label="26: DeclStmt \n *&a:int =0 [line 27]\n NULLIFY(&a); [line 27]\n " shape="box"]
26 [label="26: DeclStmt \n *&a:int =0 [line 27]\n " shape="box"]
26 -> 23 ;
25 [label="25: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 28]\n REMOVE_TEMPS(n$0); [line 28]\n " shape="invhouse"]
25 [label="25: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 28]\n " shape="invhouse"]
25 -> 22 ;
24 [label="24: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 28]\n REMOVE_TEMPS(n$0); [line 28]\n " shape="invhouse"]
24 [label="24: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 28]\n " shape="invhouse"]
24 -> 20 ;
@ -952,7 +952,7 @@ digraph iCFG {
22 -> 21 ;
21 [label="21: Return Stmt \n *&return:int =0 [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
21 [label="21: Return Stmt \n *&return:int =0 [line 30]\n " shape="box"]
21 -> 17 ;
@ -960,11 +960,11 @@ digraph iCFG {
20 -> 19 ;
19 [label="19: BinaryOperatorStmt: Assign \n *&a:int =1 [line 33]\n NULLIFY(&a); [line 33]\n " shape="box"]
19 [label="19: BinaryOperatorStmt: Assign \n *&a:int =1 [line 33]\n " shape="box"]
19 -> 18 ;
18 [label="18: Return Stmt \n *&return:int =1 [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
18 [label="18: Return Stmt \n *&return:int =1 [line 34]\n " shape="box"]
18 -> 17 ;
@ -975,15 +975,15 @@ digraph iCFG {
16 -> 26 ;
15 [label="15: DeclStmt \n *&a:int =0 [line 15]\n NULLIFY(&a); [line 15]\n " shape="box"]
15 [label="15: DeclStmt \n *&a:int =0 [line 15]\n " shape="box"]
15 -> 12 ;
14 [label="14: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n " shape="invhouse"]
14 [label="14: Prune (false branch) \n PRUNE(((n$0 > 1) == 0), false); [line 16]\n " shape="invhouse"]
14 -> 11 ;
13 [label="13: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 16]\n REMOVE_TEMPS(n$0); [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="invhouse"]
13 [label="13: Prune (true branch) \n PRUNE(((n$0 > 1) != 0), true); [line 16]\n " shape="invhouse"]
13 -> 9 ;
@ -996,7 +996,7 @@ digraph iCFG {
11 -> 10 ;
10 [label="10: Skip GotoLabel_stepB \n APPLY_ABSTRACTION; [line 19]\n " color="gray"]
10 [label="10: Skip GotoLabel_stepB \n " color="gray"]
10 -> 9 ;
@ -1008,11 +1008,11 @@ digraph iCFG {
8 -> 7 ;
7 [label="7: BinaryOperatorStmt: Assign \n *&a:int =1 [line 22]\n NULLIFY(&a); [line 22]\n " shape="box"]
7 [label="7: BinaryOperatorStmt: Assign \n *&a:int =1 [line 22]\n " shape="box"]
7 -> 6 ;
6 [label="6: Return Stmt \n *&return:int =1 [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
6 [label="6: Return Stmt \n *&return:int =1 [line 23]\n " shape="box"]
6 -> 5 ;
@ -1023,7 +1023,7 @@ digraph iCFG {
4 -> 15 ;
3 [label="3: Return Stmt \n *&return:int =2 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =2 [line 12]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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); [line 12]\n NULLIFY(&z); [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 " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
7 [label="7: DeclStmt \n *&p.x:int =32 [line 18]\n *&p.y:int =52 [line 18]\n n$1=*&p:struct point [line 18]\n REMOVE_TEMPS(n$1); [line 18]\n " shape="box"]
7 [label="7: DeclStmt \n *&p.x:int =32 [line 18]\n *&p.y:int =52 [line 18]\n n$1=*&p:struct point [line 18]\n " shape="box"]
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); [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 " shape="box"]
6 -> 5 ;
@ -15,7 +15,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
18 [label="18: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int =0 [line 58]\n *&imageDrawRect.origin.x.b:int =0 [line 58]\n *&imageDrawRect.origin.y:int =0 [line 58]\n *&imageDrawRect.z:int =0 [line 58]\n *&imageDrawRect.size:int =5 [line 58]\n n$1=*&imageDrawRect:struct rect [line 58]\n REMOVE_TEMPS(n$1); [line 58]\n " shape="box"]
18 [label="18: BinaryOperatorStmt: Assign \n *&imageDrawRect.origin.x.a:int =0 [line 58]\n *&imageDrawRect.origin.x.b:int =0 [line 58]\n *&imageDrawRect.origin.y:int =0 [line 58]\n *&imageDrawRect.z:int =0 [line 58]\n *&imageDrawRect.size:int =5 [line 58]\n n$1=*&imageDrawRect:struct rect [line 58]\n " shape="box"]
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); [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 " shape="box"]
17 -> 16 ;
@ -19,7 +19,7 @@ digraph iCFG {
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); [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 " shape="box"]
13 -> 12 ;
@ -30,11 +30,11 @@ digraph iCFG {
11 -> 14 ;
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&p:struct Point * [line 20]\n *n$2.x:int =4 [line 20]\n *n$2.y:int =5 [line 20]\n n$3=*n$2:struct Point [line 20]\n REMOVE_TEMPS(n$2,n$3); [line 20]\n " shape="box"]
10 [label="10: BinaryOperatorStmt: Assign \n n$2=*&p:struct Point * [line 20]\n *n$2.x:int =4 [line 20]\n *n$2.y:int =5 [line 20]\n n$3=*n$2:struct Point [line 20]\n " shape="box"]
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); [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 " shape="box"]
9 -> 8 ;
@ -45,7 +45,7 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
@ -56,7 +56,7 @@ digraph iCFG {
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =5 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =5 [line 15]\n " shape="box"]
3 -> 2 ;

@ -1,22 +1,22 @@
/* @generated */
digraph iCFG {
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
10 -> 9 ;
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
9 -> 4 ;
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a); [line 14]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
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); [line 15]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 15]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 15]\n " shape="invhouse"]
6 -> 4 ;
@ -29,7 +29,7 @@ digraph iCFG {
4 -> 8 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
3 -> 2 ;

@ -1,26 +1,26 @@
/* @generated */
digraph iCFG {
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
10 [label="10: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
10 -> 9 ;
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n NULLIFY(&b); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
9 [label="9: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
9 -> 4 ;
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n NULLIFY(&a); [line 14]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
8 -> 5 ;
7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 15]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 15]\n REMOVE_TEMPS(n$0); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 15]\n " shape="invhouse"]
6 -> 4 ;
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 [label="5: BinaryOperatorStmt: Assign \n *&b:int =40 [line 15]\n n$0=*&b:int [line 15]\n " shape="box"]
5 -> 6 ;
@ -29,7 +29,7 @@ digraph iCFG {
4 -> 8 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
3 -> 2 ;

@ -1,26 +1,26 @@
/* @generated */
digraph iCFG {
15 [label="15: DeclStmt \n *&a:int =10 [line 11]\n NULLIFY(&a); [line 11]\n " shape="box"]
15 [label="15: DeclStmt \n *&a:int =10 [line 11]\n " shape="box"]
15 -> 14 ;
14 [label="14: DeclStmt \n *&b:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
14 [label="14: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
14 -> 4 ;
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 [label="13: BinaryOperatorStmt: Assign \n *&a:int =1 [line 14]\n " shape="box"]
13 -> 8 ;
12 [label="12: BinaryOperatorStmt: Assign \n *&a:int =2 [line 16]\n NULLIFY(&a); [line 16]\n " shape="box"]
12 [label="12: BinaryOperatorStmt: Assign \n *&a:int =2 [line 16]\n " shape="box"]
12 -> 9 ;
11 [label="11: Prune (false branch) \n PRUNE(((n$1 < 30) == 0), false); [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n " shape="invhouse"]
11 [label="11: Prune (false branch) \n PRUNE(((n$1 < 30) == 0), false); [line 17]\n " shape="invhouse"]
11 -> 5 ;
10 [label="10: Prune (true branch) \n PRUNE(((n$1 < 30) != 0), true); [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="invhouse"]
10 [label="10: Prune (true branch) \n PRUNE(((n$1 < 30) != 0), true); [line 17]\n " shape="invhouse"]
10 -> 8 ;
@ -33,11 +33,11 @@ digraph iCFG {
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); [line 18]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 20) == 0), false); [line 18]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 18]\n REMOVE_TEMPS(n$0); [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 20) != 0), true); [line 18]\n " shape="invhouse"]
6 -> 4 ;
@ -50,7 +50,7 @@ digraph iCFG {
4 -> 13 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
3 -> 2 ;

@ -8,28 +8,28 @@ digraph iCFG {
11 -> 5 ;
10 [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 14]\n n$3=*&j:int [line 14]\n *&j:int =(n$3 + n$2) [line 14]\n REMOVE_TEMPS(n$2,n$3); [line 14]\n " shape="box"]
10 [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 14]\n n$3=*&j:int [line 14]\n *&j:int =(n$3 + n$2) [line 14]\n " shape="box"]
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); [line 13]\n NULLIFY(&j); [line 13]\n " shape="invhouse"]
9 [label="9: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 13]\n " shape="invhouse"]
9 -> 3 ;
8 [label="8: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="invhouse"]
8 [label="8: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 13]\n " shape="invhouse"]
8 -> 10 ;
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 [label="7: BinaryOperatorStmt: Assign \n *&b:int =10 [line 13]\n n$1=*&b:int [line 13]\n " shape="box"]
7 -> 8 ;
7 -> 9 ;
6 [label="6: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
6 [label="6: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n " shape="box"]
6 -> 4 ;
5 [label="5: DeclStmt \n *&b:int =3 [line 13]\n NULLIFY(&b); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
5 [label="5: DeclStmt \n *&b:int =3 [line 13]\n " shape="box"]
5 -> 4 ;
@ -37,7 +37,7 @@ digraph iCFG {
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
3 -> 2 ;

@ -4,15 +4,15 @@ digraph iCFG {
17 -> 5 ;
16 [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 14]\n n$6=*&i:int [line 14]\n *&k:int =(n$5 + n$6) [line 14]\n REMOVE_TEMPS(n$5,n$6); [line 14]\n " shape="box"]
16 [label="16: BinaryOperatorStmt: Assign \n n$5=*&k:int [line 14]\n n$6=*&i:int [line 14]\n *&k:int =(n$5 + n$6) [line 14]\n " shape="box"]
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); [line 13]\n " shape="invhouse"]
15 [label="15: Prune (false branch) \n PRUNE(((n$4 < 10) == 0), false); [line 13]\n " shape="invhouse"]
15 -> 6 ;
14 [label="14: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 13]\n REMOVE_TEMPS(n$4); [line 13]\n " shape="invhouse"]
14 [label="14: Prune (true branch) \n PRUNE(((n$4 < 10) != 0), true); [line 13]\n " shape="invhouse"]
14 -> 16 ;
@ -21,11 +21,11 @@ digraph iCFG {
13 -> 14 ;
13 -> 15 ;
12 [label="12: UnaryOperator \n n$3=*&j:int [line 13]\n *&j:int =(n$3 + 1) [line 13]\n REMOVE_TEMPS(n$3); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
12 [label="12: UnaryOperator \n n$3=*&j:int [line 13]\n *&j:int =(n$3 + 1) [line 13]\n " shape="box"]
12 -> 10 ;
11 [label="11: DeclStmt \n *&j:int =0 [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
11 [label="11: DeclStmt \n *&j:int =0 [line 13]\n " shape="box"]
11 -> 10 ;
@ -33,11 +33,11 @@ digraph iCFG {
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); [line 12]\n " shape="invhouse"]
9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n " shape="invhouse"]
9 -> 3 ;
8 [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n " shape="invhouse"]
8 [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n " shape="invhouse"]
8 -> 11 ;
@ -46,11 +46,11 @@ digraph iCFG {
7 -> 8 ;
7 -> 9 ;
6 [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n " shape="box"]
6 -> 4 ;
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
5 -> 4 ;
@ -58,7 +58,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -4,11 +4,11 @@ digraph iCFG {
10 -> 5 ;
9 [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 13]\n n$2=*&j:int [line 13]\n *&j:int =(n$2 + n$1) [line 13]\n REMOVE_TEMPS(n$1,n$2); [line 13]\n " shape="box"]
9 [label="9: BinaryOperatorStmt: AddAssign \n n$1=*&j:int [line 13]\n n$2=*&j:int [line 13]\n *&j:int =(n$2 + n$1) [line 13]\n " shape="box"]
9 -> 6 ;
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 [label="8: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
8 -> 3 ;
@ -16,11 +16,11 @@ digraph iCFG {
7 -> 9 ;
6 [label="6: UnaryOperator \n n$0=*&b:int [line 12]\n *&b:int =(n$0 + 1) [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 [label="6: UnaryOperator \n n$0=*&b:int [line 12]\n *&b:int =(n$0 + 1) [line 12]\n " shape="box"]
6 -> 4 ;
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
5 -> 4 ;
@ -29,7 +29,7 @@ digraph iCFG {
4 -> 7 ;
4 -> 8 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
3 -> 2 ;

@ -4,11 +4,11 @@ digraph iCFG {
9 -> 5 ;
8 [label="8: BinaryOperatorStmt: AddAssign \n n$0=*&j:int [line 13]\n n$1=*&j:int [line 13]\n *&j:int =(n$1 + n$0) [line 13]\n REMOVE_TEMPS(n$0,n$1); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: AddAssign \n n$0=*&j:int [line 13]\n n$1=*&j:int [line 13]\n *&j:int =(n$1 + n$0) [line 13]\n " shape="box"]
8 -> 4 ;
7 [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n NULLIFY(&j); [line 12]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE((1 == 0), false); [line 12]\n " shape="invhouse"]
7 -> 3 ;
@ -16,7 +16,7 @@ digraph iCFG {
6 -> 8 ;
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n NULLIFY(&b); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 [label="5: DeclStmt \n *&b:int =0 [line 12]\n " shape="box"]
5 -> 4 ;
@ -25,7 +25,7 @@ digraph iCFG {
4 -> 6 ;
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
8 [label="8: DeclStmt \n *&d:int =0 [line 11]\n NULLIFY(&d); [line 11]\n " shape="box"]
8 [label="8: DeclStmt \n *&d:int =0 [line 11]\n " shape="box"]
8 -> 5 ;
@ -8,11 +8,11 @@ digraph iCFG {
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE((1 != 0), true); [line 12]\n " shape="invhouse"]
6 -> 4 ;
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 [label="5: BinaryOperatorStmt: Assign \n *&d:int =0 [line 12]\n " shape="box"]
5 -> 4 ;
@ -21,7 +21,7 @@ digraph iCFG {
4 -> 6 ;
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
3 -> 2 ;

@ -1,14 +1,14 @@
/* @generated */
digraph iCFG {
8 [label="8: DeclStmt \n *&i:int =0 [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
8 [label="8: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
8 -> 4 ;
7 [label="7: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
7 [label="7: UnaryOperator \n n$0=*&i:int [line 13]\n *&i:int =(n$0 + 1) [line 13]\n " shape="box"]
7 -> 4 ;
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n NULLIFY(&i); [line 14]\n " shape="invhouse"]
6 [label="6: Prune (false branch) \n PRUNE((1 == 0), false); [line 14]\n " shape="invhouse"]
6 -> 3 ;
@ -21,7 +21,7 @@ digraph iCFG {
4 -> 5 ;
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
3 -> 2 ;

@ -4,15 +4,15 @@ digraph iCFG {
11 -> 5 ;
10 [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 13]\n n$3=*&j:int [line 13]\n *&j:int =(n$3 + n$2) [line 13]\n REMOVE_TEMPS(n$2,n$3); [line 13]\n " shape="box"]
10 [label="10: BinaryOperatorStmt: AddAssign \n n$2=*&j:int [line 13]\n n$3=*&j:int [line 13]\n *&j:int =(n$3 + n$2) [line 13]\n " shape="box"]
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); [line 12]\n NULLIFY(&j); [line 12]\n " shape="invhouse"]
9 [label="9: Prune (false branch) \n PRUNE(((n$1 < 10) == 0), false); [line 12]\n " shape="invhouse"]
9 -> 3 ;
8 [label="8: Prune (true branch) \n PRUNE(((n$1 < 10) != 0), true); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n " shape="invhouse"]
8 [label="8: Prune (true branch) \n PRUNE(((n$1 < 10) != 0), true); [line 12]\n " shape="invhouse"]
8 -> 10 ;
@ -21,11 +21,11 @@ digraph iCFG {
7 -> 8 ;
7 -> 9 ;
6 [label="6: UnaryOperator \n n$0=*&i:int [line 12]\n *&i:int =(n$0 + 1) [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 [label="6: UnaryOperator \n n$0=*&i:int [line 12]\n *&i:int =(n$0 + 1) [line 12]\n " shape="box"]
6 -> 4 ;
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
5 -> 4 ;
@ -33,7 +33,7 @@ digraph iCFG {
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
3 -> 2 ;

@ -4,15 +4,15 @@ digraph iCFG {
15 -> 5 ;
14 [label="14: UnaryOperator \n n$4=*&k:int [line 14]\n *&k:int =(n$4 + 1) [line 14]\n REMOVE_TEMPS(n$4); [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
14 [label="14: UnaryOperator \n n$4=*&k:int [line 14]\n *&k:int =(n$4 + 1) [line 14]\n " shape="box"]
14 -> 10 ;
13 [label="13: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 13]\n REMOVE_TEMPS(n$3); [line 13]\n " shape="invhouse"]
13 [label="13: Prune (false branch) \n PRUNE(((n$3 < 10) == 0), false); [line 13]\n " shape="invhouse"]
13 -> 6 ;
12 [label="12: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 13]\n REMOVE_TEMPS(n$3); [line 13]\n " shape="invhouse"]
12 [label="12: Prune (true branch) \n PRUNE(((n$3 < 10) != 0), true); [line 13]\n " shape="invhouse"]
12 -> 14 ;
@ -25,11 +25,11 @@ digraph iCFG {
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); [line 12]\n " shape="invhouse"]
9 [label="9: Prune (false branch) \n PRUNE(((n$2 < 10) == 0), false); [line 12]\n " shape="invhouse"]
9 -> 3 ;
8 [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="invhouse"]
8 [label="8: Prune (true branch) \n PRUNE(((n$2 < 10) != 0), true); [line 12]\n " shape="invhouse"]
8 -> 10 ;
@ -38,11 +38,11 @@ digraph iCFG {
7 -> 8 ;
7 -> 9 ;
6 [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 [label="6: UnaryOperator \n n$1=*&i:int [line 12]\n *&i:int =(n$1 + 1) [line 12]\n " shape="box"]
6 -> 4 ;
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 [label="5: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
5 -> 4 ;
@ -50,7 +50,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,18 +1,18 @@
/* @generated */
digraph iCFG {
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
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 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 " shape="box"]
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); [line 12]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 12]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 12]\n " shape="invhouse"]
6 -> 8 ;
@ -25,7 +25,7 @@ digraph iCFG {
4 -> 5 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
3 -> 2 ;

@ -1,18 +1,18 @@
/* @generated */
digraph iCFG {
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n NULLIFY(&i); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
9 [label="9: DeclStmt \n *&i:int =0 [line 11]\n " shape="box"]
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); [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 " shape="box"]
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); [line 12]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE((n$0 == 0), false); [line 12]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE((n$0 != 0), true); [line 12]\n " shape="invhouse"]
6 -> 8 ;
@ -25,7 +25,7 @@ digraph iCFG {
4 -> 5 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 15]\n " shape="box"]
3 -> 2 ;

@ -4,19 +4,19 @@ digraph iCFG {
15 -> 14 ;
14 [label="14: DeclStmt \n *&k:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
14 [label="14: DeclStmt \n *&k:int =0 [line 12]\n " shape="box"]
14 -> 4 ;
13 [label="13: UnaryOperator \n n$3=*&k:int [line 15]\n *&k:int =(n$3 + 1) [line 15]\n REMOVE_TEMPS(n$3); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
13 [label="13: UnaryOperator \n n$3=*&k:int [line 15]\n *&k:int =(n$3 + 1) [line 15]\n " shape="box"]
13 -> 9 ;
12 [label="12: Prune (false branch) \n PRUNE(((n$2 <= 5) == 0), false); [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n " shape="invhouse"]
12 [label="12: Prune (false branch) \n PRUNE(((n$2 <= 5) == 0), false); [line 14]\n " shape="invhouse"]
12 -> 8 ;
11 [label="11: Prune (true branch) \n PRUNE(((n$2 <= 5) != 0), true); [line 14]\n REMOVE_TEMPS(n$2); [line 14]\n " shape="invhouse"]
11 [label="11: Prune (true branch) \n PRUNE(((n$2 <= 5) != 0), true); [line 14]\n " shape="invhouse"]
11 -> 13 ;
@ -29,15 +29,15 @@ digraph iCFG {
9 -> 10 ;
8 [label="8: UnaryOperator \n n$1=*&i:int [line 17]\n *&i:int =(n$1 + 1) [line 17]\n REMOVE_TEMPS(n$1); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
8 [label="8: UnaryOperator \n n$1=*&i:int [line 17]\n *&i:int =(n$1 + 1) [line 17]\n " shape="box"]
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); [line 13]\n NULLIFY(&k); [line 13]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$0 <= 10) == 0), false); [line 13]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$0 <= 10) != 0), true); [line 13]\n " shape="invhouse"]
6 -> 9 ;
@ -50,7 +50,7 @@ digraph iCFG {
4 -> 5 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 19]\n " shape="box"]
3 -> 2 ;

@ -4,7 +4,7 @@ digraph iCFG {
6 -> 3 ;
5 [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="invhouse"]
5 [label="5: Prune (true branch) \n PRUNE((1 != 0), true); [line 11]\n " shape="invhouse"]
5 -> 4 ;
@ -13,7 +13,7 @@ digraph iCFG {
4 -> 5 ;
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 13]\n " shape="box"]
3 -> 2 ;

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

@ -1,18 +1,18 @@
/* @generated */
digraph iCFG {
8 [label="8: Return Stmt \n *&return:int =32 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 [label="8: Return Stmt \n *&return:int =32 [line 12]\n " shape="box"]
8 -> 2 ;
7 [label="7: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 11]\n REMOVE_TEMPS(n$1); [line 11]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE((n$1 == 0), false); [line 11]\n " shape="invhouse"]
7 -> 4 ;
6 [label="6: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 11]\n REMOVE_TEMPS(n$1); [line 11]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE((n$1 != 0), true); [line 11]\n " shape="invhouse"]
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 REMOVE_TEMPS(n$0); [line 11]\n NULLIFY(&p); [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 " shape="box"]
5 -> 6 ;
@ -21,7 +21,7 @@ digraph iCFG {
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =52 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =52 [line 14]\n " shape="box"]
3 -> 2 ;

@ -1,18 +1,18 @@
/* @generated */
digraph iCFG {
8 [label="8: Return Stmt \n *&return:int =32 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 [label="8: Return Stmt \n *&return:int =32 [line 12]\n " shape="box"]
8 -> 2 ;
7 [label="7: Prune (false branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 == 0), false); [line 11]\n REMOVE_TEMPS(n$0,n$1); [line 11]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 == 0), false); [line 11]\n " shape="invhouse"]
7 -> 4 ;
6 [label="6: Prune (true branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 != 0), true); [line 11]\n REMOVE_TEMPS(n$0,n$1); [line 11]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n n$1=*n$0:int [line 11]\n PRUNE((n$1 != 0), true); [line 11]\n " shape="invhouse"]
6 -> 8 ;
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 [label="5: BinaryOperatorStmt: Assign \n n$0=*&p:int * [line 11]\n *n$0:int =0 [line 11]\n " shape="box"]
5 -> 6 ;
@ -21,7 +21,7 @@ digraph iCFG {
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =52 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =52 [line 14]\n " shape="box"]
3 -> 2 ;

@ -4,19 +4,19 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [line 15]\n NULLIFY(&e); [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 " shape="box"]
3 -> 2 ;

@ -4,19 +4,19 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [line 15]\n NULLIFY(&e); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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$0,n$1,n$2,n$3,n$4); [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 [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 " shape="box"]
8 -> 7 ;
@ -11,15 +11,15 @@ digraph iCFG {
6 -> 8 ;
5 [label="5: DeclStmt \n *&y:int =3 [line 11]\n NULLIFY(&y); [line 11]\n " shape="box"]
5 [label="5: DeclStmt \n *&y:int =3 [line 11]\n " shape="box"]
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$0,n$1); [line 13]\n NULLIFY(&X); [line 13]\n NULLIFY(&y); [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 " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
3 -> 2 ;

@ -1,30 +1,30 @@
/* @generated */
digraph iCFG {
9 [label="9: DeclStmt \n *&x:double =1.000000 [line 11]\n NULLIFY(&x); [line 11]\n " shape="box"]
9 [label="9: DeclStmt \n *&x:double =1.000000 [line 11]\n " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
7 -> 6 ;
6 [label="6: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 15]\n *&x:double =(n$9 + 7) [line 15]\n REMOVE_TEMPS(n$9); [line 15]\n " shape="box"]
6 [label="6: BinaryOperatorStmt: AddAssign \n n$9=*&x:double [line 15]\n *&x:double =(n$9 + 7) [line 15]\n " shape="box"]
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); [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 " shape="box"]
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); [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 [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 " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 18]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
7 [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:struct (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n REMOVE_TEMPS(n$3); [line 32]\n " shape="box"]
7 [label="7: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:struct (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"]
7 -> 6 ;
@ -8,15 +8,15 @@ digraph iCFG {
6 -> 5 ;
5 [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int =n$2 [line 34]\n REMOVE_TEMPS(n$2); [line 34]\n " shape="box"]
5 [label="5: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int =n$2 [line 34]\n " shape="box"]
5 -> 4 ;
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:struct (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n REMOVE_TEMPS(n$0,n$1); [line 36]\n " shape="box"]
4 [label="4: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:struct (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.c:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n " shape="box"]
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 37]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
9 [label="9: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:class (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n REMOVE_TEMPS(n$3); [line 32]\n " shape="box"]
9 [label="9: BinaryOperatorStmt: Assign \n n$3=*&#GB$x:class (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 32]\n *n$3.a:int =1 [line 32]\n " shape="box"]
9 -> 8 ;
@ -8,15 +8,15 @@ digraph iCFG {
8 -> 7 ;
7 [label="7: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int =n$2 [line 34]\n REMOVE_TEMPS(n$2); [line 34]\n " shape="box"]
7 [label="7: BinaryOperatorStmt: Assign \n n$2=*&#GB$y.f:int [line 34]\n *&#GB$y.g.u:int =n$2 [line 34]\n " shape="box"]
7 -> 6 ;
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:class (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n REMOVE_TEMPS(n$0,n$1); [line 36]\n " shape="box"]
6 [label="6: BinaryOperatorStmt: Assign \n n$0=*&#GB$x:class (anonymous struct at infer_tests_codetoanalyze_c_frontend_nestedoperators_union.cpp:12:1) * [line 36]\n n$1=*n$0.b:int [line 36]\n *&#GB$y.g.w:int =n$1 [line 36]\n " shape="box"]
6 -> 5 ;
5 [label="5: Return Stmt \n *&return:int =0 [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
5 [label="5: Return Stmt \n *&return:int =0 [line 37]\n " shape="box"]
5 -> 4 ;

@ -4,40 +4,40 @@ digraph iCFG {
195 -> 186 ;
194 [label="194: Prune (false branch) \n PRUNE(((n$3 == 0) == 0), false); [line 194]\n REMOVE_TEMPS(n$3); [line 194]\n APPLY_ABSTRACTION; [line 194]\n " shape="invhouse"]
194 [label="194: Prune (false branch) \n PRUNE(((n$3 == 0) == 0), false); [line 194]\n " shape="invhouse"]
194 -> 184 ;
193 [label="193: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 194]\n REMOVE_TEMPS(n$3); [line 194]\n " shape="invhouse"]
193 [label="193: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 194]\n " shape="invhouse"]
193 -> 192 ;
192 [label="192: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 195]\n REMOVE_TEMPS(n$4); [line 195]\n APPLY_ABSTRACTION; [line 195]\n " shape="box"]
192 [label="192: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 195]\n " shape="box"]
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 REMOVE_TEMPS(n$2); [line 193]\n NULLIFY(&SIL_temp_conditional___n$0); [line 193]\n NULLIFY(&value); [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 " shape="box"]
191 -> 193 ;
191 -> 194 ;
190 [label="190: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =9 [line 193]\n APPLY_ABSTRACTION; [line 193]\n " shape="box"]
190 [label="190: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =9 [line 193]\n " shape="box"]
190 -> 185 ;
189 [label="189: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =7 [line 193]\n APPLY_ABSTRACTION; [line 193]\n " shape="box"]
189 [label="189: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =7 [line 193]\n " shape="box"]
189 -> 185 ;
188 [label="188: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 193]\n REMOVE_TEMPS(n$1); [line 193]\n " shape="invhouse"]
188 [label="188: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 193]\n " shape="invhouse"]
188 -> 190 ;
187 [label="187: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 193]\n REMOVE_TEMPS(n$1); [line 193]\n " shape="invhouse"]
187 [label="187: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 193]\n " shape="invhouse"]
187 -> 189 ;
186 [label="186: BinaryOperatorStmt: EQ \n n$1=*&value:int [line 193]\n NULLIFY(&value); [line 193]\n " shape="box"]
186 [label="186: BinaryOperatorStmt: EQ \n n$1=*&value:int [line 193]\n " shape="box"]
186 -> 187 ;
@ -46,7 +46,7 @@ digraph iCFG {
185 -> 191 ;
184 [label="184: Return Stmt \n *&return:int =0 [line 197]\n APPLY_ABSTRACTION; [line 197]\n " shape="box"]
184 [label="184: Return Stmt \n *&return:int =0 [line 197]\n " shape="box"]
184 -> 183 ;
@ -57,15 +57,15 @@ digraph iCFG {
182 -> 195 ;
181 [label="181: DeclStmt \n *&value:int =0 [line 186]\n NULLIFY(&value); [line 186]\n " shape="box"]
181 [label="181: DeclStmt \n *&value:int =0 [line 186]\n " shape="box"]
181 -> 180 ;
180 [label="180: Switch_stmt \n *&value:int =7 [line 187]\n n$0=*&value:int [line 187]\n REMOVE_TEMPS(n$0); [line 187]\n NULLIFY(&value); [line 187]\n " shape="box"]
180 [label="180: Switch_stmt \n *&value:int =7 [line 187]\n n$0=*&value:int [line 187]\n " shape="box"]
180 -> 179 ;
179 [label="179: Return Stmt \n *&return:int =0 [line 188]\n APPLY_ABSTRACTION; [line 188]\n " shape="box"]
179 [label="179: Return Stmt \n *&return:int =0 [line 188]\n " shape="box"]
179 -> 178 ;
@ -80,11 +80,11 @@ digraph iCFG {
176 -> 175 ;
175 [label="175: Switch_stmt \n n$0=*&value:int [line 181]\n REMOVE_TEMPS(n$0); [line 181]\n NULLIFY(&value); [line 181]\n " shape="box"]
175 [label="175: Switch_stmt \n n$0=*&value:int [line 181]\n " shape="box"]
175 -> 174 ;
174 [label="174: Return Stmt \n *&return:int =0 [line 182]\n APPLY_ABSTRACTION; [line 182]\n " shape="box"]
174 [label="174: Return Stmt \n *&return:int =0 [line 182]\n " shape="box"]
174 -> 173 ;
@ -95,7 +95,7 @@ digraph iCFG {
172 -> 176 ;
171 [label="171: DeclStmt \n *&value:int =0 [line 158]\n APPLY_ABSTRACTION; [line 158]\n " shape="box"]
171 [label="171: DeclStmt \n *&value:int =0 [line 158]\n " shape="box"]
171 -> 146 ;
@ -104,15 +104,15 @@ digraph iCFG {
170 -> 165 ;
170 -> 166 ;
169 [label="169: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 161]\n REMOVE_TEMPS(n$3); [line 161]\n NULLIFY(&value); [line 161]\n " shape="invhouse"]
169 [label="169: Prune (true branch) \n PRUNE(((n$3 == 0) != 0), true); [line 161]\n " shape="invhouse"]
169 -> 168 ;
168 [label="168: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n REMOVE_TEMPS(n$5); [line 162]\n " shape="box"]
168 [label="168: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 162]\n " shape="box"]
168 -> 167 ;
167 [label="167: Return Stmt \n *&return:int =0 [line 163]\n APPLY_ABSTRACTION; [line 163]\n " shape="box"]
167 [label="167: Return Stmt \n *&return:int =0 [line 163]\n " shape="box"]
167 -> 144 ;
@ -121,7 +121,7 @@ digraph iCFG {
166 -> 160 ;
166 -> 161 ;
165 [label="165: Prune (true branch) \n PRUNE(((n$3 == 1) != 0), true); [line 164]\n REMOVE_TEMPS(n$3); [line 164]\n " shape="invhouse"]
165 [label="165: Prune (true branch) \n PRUNE(((n$3 == 1) != 0), true); [line 164]\n " shape="invhouse"]
165 -> 164 ;
@ -129,11 +129,11 @@ digraph iCFG {
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); [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 " shape="box"]
163 -> 146 ;
162 [label="162: DeclStmt \n *&z:int =9 [line 169]\n APPLY_ABSTRACTION; [line 169]\n " shape="box"]
162 [label="162: DeclStmt \n *&z:int =9 [line 169]\n " shape="box"]
162 -> 150 ;
@ -142,36 +142,36 @@ digraph iCFG {
161 -> 158 ;
161 -> 159 ;
160 [label="160: Prune (true branch) \n PRUNE(((n$3 == 2) != 0), true); [line 170]\n REMOVE_TEMPS(n$3); [line 170]\n APPLY_ABSTRACTION; [line 170]\n " shape="invhouse"]
160 [label="160: Prune (true branch) \n PRUNE(((n$3 == 2) != 0), true); [line 170]\n " shape="invhouse"]
160 -> 150 ;
159 [label="159: Prune (false branch) \n PRUNE(((n$3 == 3) == 0), false); [line 171]\n REMOVE_TEMPS(n$3); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
159 [label="159: Prune (false branch) \n PRUNE(((n$3 == 3) == 0), false); [line 171]\n " shape="invhouse"]
159 -> 150 ;
158 [label="158: Prune (true branch) \n PRUNE(((n$3 == 3) != 0), true); [line 171]\n REMOVE_TEMPS(n$3); [line 171]\n APPLY_ABSTRACTION; [line 171]\n " shape="invhouse"]
158 [label="158: Prune (true branch) \n PRUNE(((n$3 == 3) != 0), true); [line 171]\n " shape="invhouse"]
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); [line 160]\n " shape="box"]
157 [label="157: Switch_stmt \n n$3=*&SIL_temp_conditional___n$1:int [line 160]\n " shape="box"]
157 -> 169 ;
157 -> 170 ;
156 [label="156: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =2 [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="box"]
156 [label="156: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =2 [line 160]\n " shape="box"]
156 -> 151 ;
155 [label="155: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 160]\n APPLY_ABSTRACTION; [line 160]\n " shape="box"]
155 [label="155: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 160]\n " shape="box"]
155 -> 151 ;
154 [label="154: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 160]\n REMOVE_TEMPS(n$2); [line 160]\n " shape="invhouse"]
154 [label="154: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 160]\n " shape="invhouse"]
154 -> 156 ;
153 [label="153: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 160]\n REMOVE_TEMPS(n$2); [line 160]\n " shape="invhouse"]
153 [label="153: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 160]\n " shape="invhouse"]
153 -> 155 ;
@ -184,15 +184,15 @@ digraph iCFG {
151 -> 157 ;
150 [label="150: DeclStmt \n *&a:int =0 [line 174]\n NULLIFY(&a); [line 174]\n APPLY_ABSTRACTION; [line 174]\n " shape="box"]
150 [label="150: DeclStmt \n *&a:int =0 [line 174]\n " shape="box"]
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); [line 159]\n " shape="invhouse"]
149 [label="149: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 159]\n " shape="invhouse"]
149 -> 145 ;
148 [label="148: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 159]\n REMOVE_TEMPS(n$0); [line 159]\n " shape="invhouse"]
148 [label="148: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 159]\n " shape="invhouse"]
148 -> 152 ;
@ -205,7 +205,7 @@ digraph iCFG {
146 -> 147 ;
145 [label="145: Return Stmt \n *&return:int =0 [line 176]\n APPLY_ABSTRACTION; [line 176]\n " shape="box"]
145 [label="145: Return Stmt \n *&return:int =0 [line 176]\n " shape="box"]
145 -> 144 ;
@ -216,7 +216,7 @@ digraph iCFG {
143 -> 171 ;
142 [label="142: DeclStmt \n *&value:int =0 [line 140]\n NULLIFY(&value); [line 140]\n " shape="box"]
142 [label="142: DeclStmt \n *&value:int =0 [line 140]\n " shape="box"]
142 -> 129 ;
@ -225,11 +225,11 @@ digraph iCFG {
141 -> 137 ;
141 -> 138 ;
140 [label="140: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 142]\n REMOVE_TEMPS(n$0); [line 142]\n " shape="invhouse"]
140 [label="140: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 142]\n " shape="invhouse"]
140 -> 139 ;
139 [label="139: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 143]\n REMOVE_TEMPS(n$2); [line 143]\n APPLY_ABSTRACTION; [line 143]\n " shape="box"]
139 [label="139: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 143]\n " shape="box"]
139 -> 128 ;
@ -238,7 +238,7 @@ digraph iCFG {
138 -> 132 ;
138 -> 133 ;
137 [label="137: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 145]\n REMOVE_TEMPS(n$0); [line 145]\n " shape="invhouse"]
137 [label="137: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 145]\n " shape="invhouse"]
137 -> 136 ;
@ -246,11 +246,11 @@ digraph iCFG {
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); [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 " shape="box"]
135 -> 128 ;
134 [label="134: DeclStmt \n *&z:int =9 [line 149]\n APPLY_ABSTRACTION; [line 149]\n " shape="box"]
134 [label="134: DeclStmt \n *&z:int =9 [line 149]\n " shape="box"]
134 -> 128 ;
@ -259,15 +259,15 @@ digraph iCFG {
133 -> 130 ;
133 -> 131 ;
132 [label="132: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 150]\n REMOVE_TEMPS(n$0); [line 150]\n APPLY_ABSTRACTION; [line 150]\n " shape="invhouse"]
132 [label="132: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 150]\n " shape="invhouse"]
132 -> 128 ;
131 [label="131: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 151]\n REMOVE_TEMPS(n$0); [line 151]\n APPLY_ABSTRACTION; [line 151]\n " shape="invhouse"]
131 [label="131: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 151]\n " shape="invhouse"]
131 -> 128 ;
130 [label="130: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 151]\n REMOVE_TEMPS(n$0); [line 151]\n APPLY_ABSTRACTION; [line 151]\n " shape="invhouse"]
130 [label="130: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 151]\n " shape="invhouse"]
130 -> 128 ;
@ -276,7 +276,7 @@ digraph iCFG {
129 -> 140 ;
129 -> 141 ;
128 [label="128: Return Stmt \n *&return:int =0 [line 154]\n APPLY_ABSTRACTION; [line 154]\n " shape="box"]
128 [label="128: Return Stmt \n *&return:int =0 [line 154]\n " shape="box"]
128 -> 127 ;
@ -287,7 +287,7 @@ digraph iCFG {
126 -> 142 ;
125 [label="125: Return Stmt \n *&return:int =1 [line 137]\n APPLY_ABSTRACTION; [line 137]\n " shape="box"]
125 [label="125: Return Stmt \n *&return:int =1 [line 137]\n " shape="box"]
125 -> 124 ;
@ -307,11 +307,11 @@ digraph iCFG {
121 -> 117 ;
121 -> 118 ;
120 [label="120: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 122]\n REMOVE_TEMPS(n$2); [line 122]\n " shape="invhouse"]
120 [label="120: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 122]\n " shape="invhouse"]
120 -> 119 ;
119 [label="119: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 123]\n REMOVE_TEMPS(n$4); [line 123]\n APPLY_ABSTRACTION; [line 123]\n " shape="box"]
119 [label="119: Call _fun_printf \n n$4=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 123]\n " shape="box"]
119 -> 102 ;
@ -320,7 +320,7 @@ digraph iCFG {
118 -> 112 ;
118 -> 113 ;
117 [label="117: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 125]\n REMOVE_TEMPS(n$2); [line 125]\n " shape="invhouse"]
117 [label="117: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 125]\n " shape="invhouse"]
117 -> 116 ;
@ -328,11 +328,11 @@ digraph iCFG {
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); [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 " shape="box"]
115 -> 102 ;
114 [label="114: DeclStmt \n *&z:int =9 [line 129]\n APPLY_ABSTRACTION; [line 129]\n " shape="box"]
114 [label="114: DeclStmt \n *&z:int =9 [line 129]\n " shape="box"]
114 -> 102 ;
@ -341,40 +341,40 @@ digraph iCFG {
113 -> 110 ;
113 -> 111 ;
112 [label="112: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 130]\n REMOVE_TEMPS(n$2); [line 130]\n APPLY_ABSTRACTION; [line 130]\n " shape="invhouse"]
112 [label="112: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 130]\n " shape="invhouse"]
112 -> 102 ;
111 [label="111: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 131]\n REMOVE_TEMPS(n$2); [line 131]\n APPLY_ABSTRACTION; [line 131]\n " shape="invhouse"]
111 [label="111: Prune (false branch) \n PRUNE(((n$2 == 3) == 0), false); [line 131]\n " shape="invhouse"]
111 -> 102 ;
110 [label="110: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 131]\n REMOVE_TEMPS(n$2); [line 131]\n APPLY_ABSTRACTION; [line 131]\n " shape="invhouse"]
110 [label="110: Prune (true branch) \n PRUNE(((n$2 == 3) != 0), true); [line 131]\n " shape="invhouse"]
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); [line 121]\n " shape="box"]
109 [label="109: Switch_stmt \n n$2=*&SIL_temp_conditional___n$0:int [line 121]\n " shape="box"]
109 -> 120 ;
109 -> 121 ;
108 [label="108: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="box"]
108 [label="108: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =0 [line 121]\n " shape="box"]
108 -> 103 ;
107 [label="107: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 121]\n APPLY_ABSTRACTION; [line 121]\n " shape="box"]
107 [label="107: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =1 [line 121]\n " shape="box"]
107 -> 103 ;
106 [label="106: Prune (false branch) \n PRUNE(((n$1 > 0) == 0), false); [line 121]\n REMOVE_TEMPS(n$1); [line 121]\n " shape="invhouse"]
106 [label="106: Prune (false branch) \n PRUNE(((n$1 > 0) == 0), false); [line 121]\n " shape="invhouse"]
106 -> 108 ;
105 [label="105: Prune (true branch) \n PRUNE(((n$1 > 0) != 0), true); [line 121]\n REMOVE_TEMPS(n$1); [line 121]\n " shape="invhouse"]
105 [label="105: Prune (true branch) \n PRUNE(((n$1 > 0) != 0), true); [line 121]\n " shape="invhouse"]
105 -> 107 ;
104 [label="104: BinaryOperatorStmt: GT \n n$1=*&value:int [line 121]\n NULLIFY(&value); [line 121]\n " shape="box"]
104 [label="104: BinaryOperatorStmt: GT \n n$1=*&value:int [line 121]\n " shape="box"]
104 -> 105 ;
@ -383,7 +383,7 @@ digraph iCFG {
103 -> 109 ;
102 [label="102: Return Stmt \n *&return:int =0 [line 134]\n APPLY_ABSTRACTION; [line 134]\n " shape="box"]
102 [label="102: Return Stmt \n *&return:int =0 [line 134]\n " shape="box"]
102 -> 101 ;
@ -394,7 +394,7 @@ digraph iCFG {
100 -> 122 ;
99 [label="99: DeclStmt \n *&value:int =0 [line 104]\n APPLY_ABSTRACTION; [line 104]\n " shape="box"]
99 [label="99: DeclStmt \n *&value:int =0 [line 104]\n " shape="box"]
99 -> 88 ;
@ -406,19 +406,19 @@ digraph iCFG {
97 -> 96 ;
96 [label="96: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 109]\n *&x:int =(n$3 + 1) [line 109]\n APPLY_ABSTRACTION; [line 109]\n " shape="box"]
96 [label="96: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 109]\n *&x:int =(n$3 + 1) [line 109]\n " shape="box"]
96 -> 88 ;
95 [label="95: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 111]\n REMOVE_TEMPS(n$1); [line 111]\n APPLY_ABSTRACTION; [line 111]\n " shape="invhouse"]
95 [label="95: Prune (false branch) \n PRUNE(((n$1 == 0) == 0), false); [line 111]\n " shape="invhouse"]
95 -> 88 ;
94 [label="94: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 111]\n REMOVE_TEMPS(n$1); [line 111]\n " shape="invhouse"]
94 [label="94: Prune (true branch) \n PRUNE(((n$1 == 0) != 0), true); [line 111]\n " shape="invhouse"]
94 -> 93 ;
93 [label="93: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 112]\n REMOVE_TEMPS(n$2); [line 112]\n APPLY_ABSTRACTION; [line 112]\n " shape="box"]
93 [label="93: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 112]\n " shape="box"]
93 -> 88 ;
@ -427,11 +427,11 @@ digraph iCFG {
92 -> 94 ;
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); [line 105]\n " shape="invhouse"]
91 [label="91: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 105]\n " shape="invhouse"]
91 -> 87 ;
90 [label="90: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 105]\n REMOVE_TEMPS(n$0); [line 105]\n " shape="invhouse"]
90 [label="90: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 105]\n " shape="invhouse"]
90 -> 92 ;
@ -444,7 +444,7 @@ digraph iCFG {
88 -> 89 ;
87 [label="87: Return Stmt \n *&return:int =0 [line 116]\n APPLY_ABSTRACTION; [line 116]\n " shape="box"]
87 [label="87: Return Stmt \n *&return:int =0 [line 116]\n " shape="box"]
87 -> 86 ;
@ -467,7 +467,7 @@ digraph iCFG {
82 -> 81 ;
81 [label="81: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 83]\n *&x:int =(n$3 + 1) [line 83]\n APPLY_ABSTRACTION; [line 83]\n " shape="box"]
81 [label="81: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 83]\n *&x:int =(n$3 + 1) [line 83]\n " shape="box"]
81 -> 78 ;
@ -476,15 +476,15 @@ digraph iCFG {
80 -> 75 ;
80 -> 76 ;
79 [label="79: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 84]\n REMOVE_TEMPS(n$0); [line 84]\n APPLY_ABSTRACTION; [line 84]\n " shape="invhouse"]
79 [label="79: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 84]\n " shape="invhouse"]
79 -> 78 ;
78 [label="78: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 85]\n REMOVE_TEMPS(n$2); [line 85]\n APPLY_ABSTRACTION; [line 85]\n " shape="box"]
78 [label="78: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 85]\n " shape="box"]
78 -> 65 ;
77 [label="77: DeclStmt \n *&z:int =9 [line 87]\n APPLY_ABSTRACTION; [line 87]\n " shape="box"]
77 [label="77: DeclStmt \n *&z:int =9 [line 87]\n " shape="box"]
77 -> 74 ;
@ -493,7 +493,7 @@ digraph iCFG {
76 -> 70 ;
76 -> 71 ;
75 [label="75: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 90]\n REMOVE_TEMPS(n$0); [line 90]\n APPLY_ABSTRACTION; [line 90]\n " shape="invhouse"]
75 [label="75: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 90]\n " shape="invhouse"]
75 -> 74 ;
@ -501,11 +501,11 @@ digraph iCFG {
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); [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 " shape="box"]
73 -> 72 ;
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 [label="72: BinaryOperatorStmt: Assign \n *&z:int =42 [line 94]\n " shape="box"]
72 -> 65 ;
@ -514,28 +514,28 @@ digraph iCFG {
71 -> 68 ;
71 -> 69 ;
70 [label="70: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 96]\n REMOVE_TEMPS(n$0); [line 96]\n APPLY_ABSTRACTION; [line 96]\n " shape="invhouse"]
70 [label="70: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 96]\n " shape="invhouse"]
70 -> 65 ;
69 [label="69: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 97]\n REMOVE_TEMPS(n$0); [line 97]\n " shape="invhouse"]
69 [label="69: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 97]\n " shape="invhouse"]
69 -> 67 ;
68 [label="68: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 97]\n REMOVE_TEMPS(n$0); [line 97]\n APPLY_ABSTRACTION; [line 97]\n " shape="invhouse"]
68 [label="68: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 97]\n " shape="invhouse"]
68 -> 65 ;
67 [label="67: DefaultStmt_placeholder \n APPLY_ABSTRACTION; [line 88]\n " shape="box"]
67 [label="67: DefaultStmt_placeholder \n " shape="box"]
67 -> 74 ;
66 [label="66: Switch_stmt \n n$0=*&value:int [line 80]\n NULLIFY(&value); [line 80]\n " shape="box"]
66 [label="66: Switch_stmt \n n$0=*&value:int [line 80]\n " shape="box"]
66 -> 79 ;
66 -> 80 ;
65 [label="65: Return Stmt \n *&return:int =0 [line 100]\n APPLY_ABSTRACTION; [line 100]\n " shape="box"]
65 [label="65: Return Stmt \n *&return:int =0 [line 100]\n " shape="box"]
65 -> 64 ;
@ -555,11 +555,11 @@ digraph iCFG {
61 -> 57 ;
61 -> 58 ;
60 [label="60: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 63]\n REMOVE_TEMPS(n$0); [line 63]\n " shape="invhouse"]
60 [label="60: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 63]\n " shape="invhouse"]
60 -> 59 ;
59 [label="59: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 64]\n REMOVE_TEMPS(n$2); [line 64]\n APPLY_ABSTRACTION; [line 64]\n " shape="box"]
59 [label="59: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 64]\n " shape="box"]
59 -> 48 ;
@ -568,7 +568,7 @@ digraph iCFG {
58 -> 52 ;
58 -> 53 ;
57 [label="57: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 66]\n REMOVE_TEMPS(n$0); [line 66]\n " shape="invhouse"]
57 [label="57: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 66]\n " shape="invhouse"]
57 -> 56 ;
@ -576,11 +576,11 @@ digraph iCFG {
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); [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 " shape="box"]
55 -> 48 ;
54 [label="54: DeclStmt \n *&z:int =9 [line 70]\n APPLY_ABSTRACTION; [line 70]\n " shape="box"]
54 [label="54: DeclStmt \n *&z:int =9 [line 70]\n " shape="box"]
54 -> 48 ;
@ -589,24 +589,24 @@ digraph iCFG {
53 -> 50 ;
53 -> 51 ;
52 [label="52: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 71]\n REMOVE_TEMPS(n$0); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="invhouse"]
52 [label="52: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 71]\n " shape="invhouse"]
52 -> 48 ;
51 [label="51: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 72]\n REMOVE_TEMPS(n$0); [line 72]\n APPLY_ABSTRACTION; [line 72]\n " shape="invhouse"]
51 [label="51: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 72]\n " shape="invhouse"]
51 -> 48 ;
50 [label="50: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 72]\n REMOVE_TEMPS(n$0); [line 72]\n APPLY_ABSTRACTION; [line 72]\n " shape="invhouse"]
50 [label="50: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 72]\n " shape="invhouse"]
50 -> 48 ;
49 [label="49: Switch_stmt \n n$0=*&value:int [line 62]\n NULLIFY(&value); [line 62]\n " shape="box"]
49 [label="49: Switch_stmt \n n$0=*&value:int [line 62]\n " shape="box"]
49 -> 60 ;
49 -> 61 ;
48 [label="48: Return Stmt \n *&return:int =0 [line 75]\n APPLY_ABSTRACTION; [line 75]\n " shape="box"]
48 [label="48: Return Stmt \n *&return:int =0 [line 75]\n " shape="box"]
48 -> 47 ;
@ -629,7 +629,7 @@ digraph iCFG {
43 -> 42 ;
42 [label="42: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 40]\n *&x:int =(n$3 + 1) [line 40]\n APPLY_ABSTRACTION; [line 40]\n " shape="box"]
42 [label="42: BinaryOperatorStmt: Assign \n n$3=*&value:int [line 40]\n *&x:int =(n$3 + 1) [line 40]\n " shape="box"]
42 -> 39 ;
@ -638,15 +638,15 @@ digraph iCFG {
41 -> 36 ;
41 -> 37 ;
40 [label="40: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 41]\n REMOVE_TEMPS(n$0); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="invhouse"]
40 [label="40: Prune (true branch) \n PRUNE(((n$0 == 0) != 0), true); [line 41]\n " shape="invhouse"]
40 -> 39 ;
39 [label="39: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 42]\n REMOVE_TEMPS(n$2); [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
39 [label="39: Call _fun_printf \n n$2=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 42]\n " shape="box"]
39 -> 26 ;
38 [label="38: DeclStmt \n *&z:int =9 [line 44]\n APPLY_ABSTRACTION; [line 44]\n " shape="box"]
38 [label="38: DeclStmt \n *&z:int =9 [line 44]\n " shape="box"]
38 -> 35 ;
@ -655,7 +655,7 @@ digraph iCFG {
37 -> 31 ;
37 -> 32 ;
36 [label="36: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 47]\n REMOVE_TEMPS(n$0); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="invhouse"]
36 [label="36: Prune (true branch) \n PRUNE(((n$0 == 1) != 0), true); [line 47]\n " shape="invhouse"]
36 -> 35 ;
@ -663,11 +663,11 @@ digraph iCFG {
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); [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 " shape="box"]
34 -> 33 ;
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 [label="33: BinaryOperatorStmt: Assign \n *&z:int =42 [line 51]\n " shape="box"]
33 -> 26 ;
@ -676,28 +676,28 @@ digraph iCFG {
32 -> 29 ;
32 -> 30 ;
31 [label="31: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 53]\n REMOVE_TEMPS(n$0); [line 53]\n APPLY_ABSTRACTION; [line 53]\n " shape="invhouse"]
31 [label="31: Prune (true branch) \n PRUNE(((n$0 == 2) != 0), true); [line 53]\n " shape="invhouse"]
31 -> 26 ;
30 [label="30: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 54]\n REMOVE_TEMPS(n$0); [line 54]\n " shape="invhouse"]
30 [label="30: Prune (false branch) \n PRUNE(((n$0 == 3) == 0), false); [line 54]\n " shape="invhouse"]
30 -> 28 ;
29 [label="29: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 54]\n REMOVE_TEMPS(n$0); [line 54]\n APPLY_ABSTRACTION; [line 54]\n " shape="invhouse"]
29 [label="29: Prune (true branch) \n PRUNE(((n$0 == 3) != 0), true); [line 54]\n " shape="invhouse"]
29 -> 26 ;
28 [label="28: DefaultStmt_placeholder \n APPLY_ABSTRACTION; [line 45]\n " shape="box"]
28 [label="28: DefaultStmt_placeholder \n " shape="box"]
28 -> 35 ;
27 [label="27: Switch_stmt \n n$0=*&value:int [line 37]\n NULLIFY(&value); [line 37]\n " shape="box"]
27 [label="27: Switch_stmt \n n$0=*&value:int [line 37]\n " shape="box"]
27 -> 40 ;
27 -> 41 ;
26 [label="26: Return Stmt \n *&return:int =0 [line 57]\n APPLY_ABSTRACTION; [line 57]\n " shape="box"]
26 [label="26: Return Stmt \n *&return:int =0 [line 57]\n " shape="box"]
26 -> 25 ;
@ -708,7 +708,7 @@ digraph iCFG {
24 -> 45 ;
23 [label="23: DeclStmt \n *&value:int =0 [line 13]\n APPLY_ABSTRACTION; [line 13]\n " shape="box"]
23 [label="23: DeclStmt \n *&value:int =0 [line 13]\n " shape="box"]
23 -> 4 ;
@ -720,7 +720,7 @@ digraph iCFG {
21 -> 20 ;
20 [label="20: BinaryOperatorStmt: Assign \n n$6=*&value:int [line 18]\n *&x:int =(n$6 + 1) [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
20 [label="20: BinaryOperatorStmt: Assign \n n$6=*&value:int [line 18]\n *&x:int =(n$6 + 1) [line 18]\n " shape="box"]
20 -> 17 ;
@ -729,11 +729,11 @@ digraph iCFG {
19 -> 15 ;
19 -> 16 ;
18 [label="18: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 19]\n REMOVE_TEMPS(n$2); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="invhouse"]
18 [label="18: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 19]\n " shape="invhouse"]
18 -> 17 ;
17 [label="17: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 20]\n REMOVE_TEMPS(n$5); [line 20]\n " shape="box"]
17 [label="17: Call _fun_printf \n n$5=_fun_printf(\"(0)HELLO WORLD!\":char *) [line 20]\n " shape="box"]
17 -> 8 ;
@ -742,27 +742,27 @@ digraph iCFG {
16 -> 12 ;
16 -> 13 ;
15 [label="15: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 22]\n REMOVE_TEMPS(n$2); [line 22]\n " shape="invhouse"]
15 [label="15: Prune (true branch) \n PRUNE(((n$2 == 1) != 0), true); [line 22]\n " shape="invhouse"]
15 -> 14 ;
14 [label="14: Call _fun_printf \n n$4=_fun_printf(\"(1)HELLO WORLD!\":char *) [line 23]\n REMOVE_TEMPS(n$4); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
14 [label="14: Call _fun_printf \n n$4=_fun_printf(\"(1)HELLO WORLD!\":char *) [line 23]\n " shape="box"]
14 -> 4 ;
13 [label="13: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 25]\n REMOVE_TEMPS(n$2); [line 25]\n " shape="invhouse"]
13 [label="13: Prune (false branch) \n PRUNE(((n$2 == 2) == 0), false); [line 25]\n " shape="invhouse"]
13 -> 10 ;
12 [label="12: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 25]\n REMOVE_TEMPS(n$2); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="invhouse"]
12 [label="12: Prune (true branch) \n PRUNE(((n$2 == 2) != 0), true); [line 25]\n " shape="invhouse"]
12 -> 11 ;
11 [label="11: Call _fun_printf \n n$3=_fun_printf(\"(2/def)HELLO WORLD!\":char *) [line 27]\n REMOVE_TEMPS(n$3); [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
11 [label="11: Call _fun_printf \n n$3=_fun_printf(\"(2/def)HELLO WORLD!\":char *) [line 27]\n " shape="box"]
11 -> 4 ;
10 [label="10: DefaultStmt_placeholder \n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
10 [label="10: DefaultStmt_placeholder \n " shape="box"]
10 -> 11 ;
@ -771,15 +771,15 @@ digraph iCFG {
9 -> 18 ;
9 -> 19 ;
8 [label="8: Call _fun_printf \n n$1=_fun_printf(\"(after_switch)HELLO WORLD!\":char *) [line 30]\n REMOVE_TEMPS(n$1); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
8 [label="8: Call _fun_printf \n n$1=_fun_printf(\"(after_switch)HELLO WORLD!\":char *) [line 30]\n " shape="box"]
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); [line 14]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$0 < 10) == 0), false); [line 14]\n " shape="invhouse"]
7 -> 3 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 14]\n REMOVE_TEMPS(n$0); [line 14]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$0 < 10) != 0), true); [line 14]\n " shape="invhouse"]
6 -> 9 ;
@ -792,7 +792,7 @@ digraph iCFG {
4 -> 5 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 32]\n APPLY_ABSTRACTION; [line 32]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 32]\n " shape="box"]
3 -> 2 ;

@ -4,7 +4,7 @@ digraph iCFG {
4 -> 3 ;
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 [label="3: BinaryOperatorStmt: Assign \n *&x.b:int =20 [line 18]\n " shape="box"]
3 -> 2 ;

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

@ -4,15 +4,15 @@ digraph iCFG {
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); [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 " shape="box"]
8 -> 7 ;
7 [label="7: Return Stmt \n *&return:int =0 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
7 [label="7: Return Stmt \n *&return:int =0 [line 28]\n " shape="box"]
7 -> 6 ;
6 [label="6: Exit main \n NULLIFY(&dst); [line 29]\n " color=yellow style=filled]
6 [label="6: Exit main \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]
@ -23,11 +23,11 @@ digraph iCFG {
4 -> 3 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 16]\n " shape="box"]
3 -> 2 ;
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]
2 [label="2: Exit test \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,6 +1,6 @@
/* @generated */
digraph iCFG {
22 [label="22: Call _fun_call_with_forward_declaration \n _fun_call_with_forward_declaration(null:class XForward *) [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
22 [label="22: Call _fun_call_with_forward_declaration \n _fun_call_with_forward_declaration(null:class XForward *) [line 38]\n " shape="box"]
22 -> 21 ;
@ -11,7 +11,7 @@ digraph iCFG {
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); [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 " shape="box"]
19 -> 18 ;
@ -22,7 +22,7 @@ digraph iCFG {
17 -> 19 ;
16 [label="16: Return Stmt \n *&return:int =0 [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
16 [label="16: Return Stmt \n *&return:int =0 [line 31]\n " shape="box"]
16 -> 15 ;
@ -33,7 +33,7 @@ digraph iCFG {
14 -> 16 ;
13 [label="13: Call _fun_X_call \n n$0=_fun_getX() [line 22]\n n$1=*n$0:class X [line 22]\n n$2=_fun_X_call(n$0:class X *) [line 22]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
13 [label="13: Call _fun_X_call \n n$0=_fun_getX() [line 22]\n n$1=*n$0:class X [line 22]\n n$2=_fun_X_call(n$0:class X *) [line 22]\n " shape="box"]
13 -> 12 ;
@ -44,7 +44,7 @@ digraph iCFG {
11 -> 13 ;
10 [label="10: Return Stmt \n *&return:class X *=null [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
10 [label="10: Return Stmt \n *&return:class X *=null [line 20]\n " shape="box"]
10 -> 9 ;
@ -59,7 +59,7 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
@ -70,7 +70,7 @@ digraph iCFG {
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =1 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =1 [line 12]\n " shape="box"]
3 -> 2 ;

@ -1,18 +1,18 @@
/* @generated */
digraph iCFG {
6 [label="6: DeclStmt \n *&x:int =2 [line 11]\n NULLIFY(&x); [line 11]\n " shape="box"]
6 [label="6: DeclStmt \n *&x:int =2 [line 11]\n " shape="box"]
6 -> 5 ;
5 [label="5: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 12]\n *&i:int *=n$2 [line 12]\n REMOVE_TEMPS(n$2); [line 12]\n " shape="box"]
5 [label="5: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 12]\n *&i:int *=n$2 [line 12]\n " shape="box"]
5 -> 4 ;
4 [label="4: CXXNewExpr \n n$1=_fun___new(sizeof(int ):unsigned long ) [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="box"]
4 [label="4: CXXNewExpr \n n$1=_fun___new(sizeof(int ):unsigned long ) [line 13]\n " shape="box"]
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); [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 " shape="box"]
3 -> 2 ;

@ -4,23 +4,23 @@ digraph iCFG {
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); [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 " shape="box"]
33 -> 26 ;
32 [label="32: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 27]\n *&SIL_temp_conditional___n$1:class X =&SIL_materialize_temp__n$0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
32 [label="32: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 27]\n *&SIL_temp_conditional___n$1:class X =&SIL_materialize_temp__n$0 [line 27]\n " shape="box"]
32 -> 27 ;
31 [label="31: ConditinalStmt Branch \n _fun_getX(&SIL_materialize_temp__n$5:class X *) [line 27]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$5:class X &) [line 27]\n *&SIL_temp_conditional___n$1:class X =&SIL_materialize_temp__n$0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
31 [label="31: ConditinalStmt Branch \n _fun_getX(&SIL_materialize_temp__n$5:class X *) [line 27]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$5:class X &) [line 27]\n *&SIL_temp_conditional___n$1:class X =&SIL_materialize_temp__n$0 [line 27]\n " shape="box"]
31 -> 27 ;
30 [label="30: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 27]\n REMOVE_TEMPS(n$4); [line 27]\n " shape="invhouse"]
30 [label="30: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 27]\n " shape="invhouse"]
30 -> 32 ;
29 [label="29: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 27]\n REMOVE_TEMPS(n$4); [line 27]\n " shape="invhouse"]
29 [label="29: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 27]\n " shape="invhouse"]
29 -> 31 ;
@ -33,7 +33,7 @@ digraph iCFG {
27 -> 33 ;
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]
26 [label="26: Exit conditional \n " color=yellow style=filled]
25 [label="25: Start conditional\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:class X 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]
@ -44,7 +44,7 @@ digraph iCFG {
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); [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 " shape="box"]
23 -> 15 ;
@ -52,19 +52,19 @@ digraph iCFG {
22 -> 17 ;
21 [label="21: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 22]\n *&SIL_temp_conditional___n$2:class X =&SIL_materialize_temp__n$0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
21 [label="21: ConditinalStmt Branch \n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&a:class X &) [line 22]\n *&SIL_temp_conditional___n$2:class X =&SIL_materialize_temp__n$0 [line 22]\n " shape="box"]
21 -> 16 ;
20 [label="20: ConditinalStmt Branch \n *&SIL_materialize_temp__n$4:class X =&SIL_materialize_temp__n$0 [line 22]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$4:class X &) [line 22]\n *&SIL_temp_conditional___n$2:class X =&SIL_materialize_temp__n$0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
20 [label="20: ConditinalStmt Branch \n *&SIL_materialize_temp__n$4:class X =&SIL_materialize_temp__n$0 [line 22]\n _fun_X_X(&SIL_materialize_temp__n$0:class X *,&SIL_materialize_temp__n$4:class X &) [line 22]\n *&SIL_temp_conditional___n$2:class X =&SIL_materialize_temp__n$0 [line 22]\n " shape="box"]
20 -> 16 ;
19 [label="19: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="invhouse"]
19 [label="19: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 22]\n " shape="invhouse"]
19 -> 21 ;
18 [label="18: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n REMOVE_TEMPS(n$3); [line 22]\n " shape="invhouse"]
18 [label="18: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 22]\n " shape="invhouse"]
18 -> 20 ;
@ -77,7 +77,7 @@ digraph iCFG {
16 -> 23 ;
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]
15 [label="15: Exit binaryConditional \n " color=yellow style=filled]
14 [label="14: Start binaryConditional\nFormals: \nLocals: x:class X SIL_materialize_temp__n$0:class X SIL_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]
@ -88,11 +88,11 @@ digraph iCFG {
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); [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 " shape="box"]
12 -> 11 ;
11 [label="11: Exit getX \n NULLIFY(&x); [line 17]\n " color=yellow style=filled]
11 [label="11: Exit getX \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]
@ -120,7 +120,7 @@ digraph iCFG {
4 -> 5 ;
3 [label="3: Return Stmt \n *&return:_Bool =1 [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:_Bool =1 [line 11]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
65 [label="65: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int ,1:int ) [line 47]\n *&return:int =n$0 [line 47]\n REMOVE_TEMPS(n$0); [line 47]\n APPLY_ABSTRACTION; [line 47]\n " shape="box"]
65 [label="65: Return Stmt \n n$0=_fun_div_temp_lvalue(0:int ,1:int ) [line 47]\n *&return:int =n$0 [line 47]\n " shape="box"]
65 -> 64 ;
@ -11,7 +11,7 @@ digraph iCFG {
63 -> 65 ;
62 [label="62: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int ,0:int ) [line 45]\n *&return:int =n$0 [line 45]\n REMOVE_TEMPS(n$0); [line 45]\n APPLY_ABSTRACTION; [line 45]\n " shape="box"]
62 [label="62: Return Stmt \n n$0=_fun_div_temp_lvalue(1:int ,0:int ) [line 45]\n *&return:int =n$0 [line 45]\n " shape="box"]
62 -> 61 ;
@ -22,7 +22,7 @@ digraph iCFG {
60 -> 62 ;
59 [label="59: Return Stmt \n n$0=_fun_assign_conditional(1:int ) [line 43]\n *&return:int =(1 / n$0) [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
59 [label="59: Return Stmt \n n$0=_fun_assign_conditional(1:int ) [line 43]\n *&return:int =(1 / n$0) [line 43]\n " shape="box"]
59 -> 58 ;
@ -33,7 +33,7 @@ digraph iCFG {
57 -> 59 ;
56 [label="56: Return Stmt \n n$0=_fun_assign_conditional(0:int ) [line 41]\n *&return:int =(1 / n$0) [line 41]\n REMOVE_TEMPS(n$0); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"]
56 [label="56: Return Stmt \n n$0=_fun_assign_conditional(0:int ) [line 41]\n *&return:int =(1 / n$0) [line 41]\n " shape="box"]
56 -> 55 ;
@ -44,7 +44,7 @@ digraph iCFG {
54 -> 56 ;
53 [label="53: Return Stmt \n n$0=_fun_choose_rvalue(0:int ) [line 39]\n *&return:int =(1 / n$0) [line 39]\n REMOVE_TEMPS(n$0); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"]
53 [label="53: Return Stmt \n n$0=_fun_choose_rvalue(0:int ) [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
53 -> 52 ;
@ -55,7 +55,7 @@ digraph iCFG {
51 -> 53 ;
50 [label="50: Return Stmt \n n$0=_fun_choose_rvalue(1:int ) [line 37]\n *&return:int =(1 / n$0) [line 37]\n REMOVE_TEMPS(n$0); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
50 [label="50: Return Stmt \n n$0=_fun_choose_rvalue(1:int ) [line 37]\n *&return:int =(1 / n$0) [line 37]\n " shape="box"]
50 -> 49 ;
@ -66,7 +66,7 @@ digraph iCFG {
48 -> 50 ;
47 [label="47: Return Stmt \n n$0=_fun_choose_lvalue(0:int ) [line 35]\n *&return:int =(1 / n$0) [line 35]\n REMOVE_TEMPS(n$0); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
47 [label="47: Return Stmt \n n$0=_fun_choose_lvalue(0:int ) [line 35]\n *&return:int =(1 / n$0) [line 35]\n " shape="box"]
47 -> 46 ;
@ -77,7 +77,7 @@ digraph iCFG {
45 -> 47 ;
44 [label="44: Return Stmt \n n$0=_fun_choose_lvalue(1:int ) [line 33]\n *&return:int =(1 / n$0) [line 33]\n REMOVE_TEMPS(n$0); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
44 [label="44: Return Stmt \n n$0=_fun_choose_lvalue(1:int ) [line 33]\n *&return:int =(1 / n$0) [line 33]\n " shape="box"]
44 -> 43 ;
@ -88,23 +88,23 @@ digraph iCFG {
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); [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 " shape="box"]
41 -> 35 ;
40 [label="40: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
40 [label="40: ConditinalStmt Branch \n *&SIL_temp_conditional___n$3:int =1 [line 29]\n " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
37 -> 39 ;
@ -112,11 +112,11 @@ digraph iCFG {
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); [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 " shape="box"]
35 -> 34 ;
34 [label="34: Exit div_temp_lvalue \n NULLIFY(&SIL_materialize_temp__n$2); [line 31]\n " color=yellow style=filled]
34 [label="34: Exit div_temp_lvalue \n " color=yellow style=filled]
33 [label="33: Start div_temp_lvalue\nFormals: a:int b:int \nLocals: r:int & SIL_materialize_temp__n$2:int 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]
@ -133,23 +133,23 @@ digraph iCFG {
31 -> 26 ;
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); [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 " shape="box"]
30 -> 24 ;
29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v2 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
29 [label="29: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v2 [line 24]\n " shape="box"]
29 -> 25 ;
28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v1 [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
28 [label="28: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v1 [line 24]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
26 -> 28 ;
@ -157,11 +157,11 @@ digraph iCFG {
25 -> 30 ;
24 [label="24: Return Stmt \n n$0=*&v1:int [line 25]\n *&return:int =n$0 [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
24 [label="24: Return Stmt \n n$0=*&v1:int [line 25]\n *&return:int =n$0 [line 25]\n " shape="box"]
24 -> 23 ;
23 [label="23: Exit assign_conditional \n NULLIFY(&v2); [line 26]\n NULLIFY(&v1); [line 26]\n " color=yellow style=filled]
23 [label="23: Exit assign_conditional \n " color=yellow style=filled]
22 [label="22: Start assign_conditional\nFormals: a:int \nLocals: 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]
@ -173,23 +173,23 @@ digraph iCFG {
21 -> 16 ;
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); [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 " shape="box"]
20 -> 14 ;
19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 18]\n APPLY_ABSTRACTION; [line 18]\n " shape="box"]
19 [label="19: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 18]\n " shape="box"]
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); [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 " shape="box"]
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); [line 18]\n NULLIFY(&v1); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
16 -> 18 ;
@ -197,7 +197,7 @@ digraph iCFG {
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); [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 " shape="box"]
14 -> 13 ;
@ -217,23 +217,23 @@ digraph iCFG {
10 -> 5 ;
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); [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 " shape="box"]
9 -> 3 ;
8 [label="8: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v2 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 [label="8: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v2 [line 12]\n " shape="box"]
8 -> 4 ;
7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v1 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
7 [label="7: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int &=&v1 [line 12]\n " shape="box"]
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); [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 " shape="invhouse"]
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); [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 " shape="invhouse"]
5 -> 7 ;
@ -241,11 +241,11 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;
2 [label="2: Exit choose_lvalue \n NULLIFY(&v2); [line 14]\n NULLIFY(&v1); [line 14]\n " color=yellow style=filled]
2 [label="2: Exit choose_lvalue \n " color=yellow style=filled]
1 [label="1: Start choose_lvalue\nFormals: a:int \nLocals: v3:int 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]

@ -8,37 +8,37 @@ digraph iCFG {
30 -> 29 ;
29 [label="29: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 42]\n APPLY_ABSTRACTION; [line 42]\n " shape="box"]
29 [label="29: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 42]\n " shape="box"]
29 -> 28 ;
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]
28 [label="28: Exit initialization_mixed_styles_not_handled_correctly \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 ;
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 [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 " shape="box"]
26 -> 25 ;
25 [label="25: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
25 [label="25: DeclStmt \n _fun_Z_Z(&z2:class Z *) [line 34]\n " shape="box"]
25 -> 24 ;
24 [label="24: Exit initialization_c_style \n NULLIFY(&z2); [line 35]\n " color=yellow style=filled]
24 [label="24: Exit initialization_c_style \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 -> 26 ;
22 [label="22: Constructor Init \n n$3=*&this:class Z * [line 27]\n n$4=*&__param_0:class Z & [line 27]\n n$5=*n$4.a:int [line 27]\n *n$3.a:int =n$5 [line 27]\n REMOVE_TEMPS(n$3,n$4,n$5); [line 27]\n " shape="box"]
22 [label="22: Constructor Init \n n$3=*&this:class Z * [line 27]\n n$4=*&__param_0:class Z & [line 27]\n n$5=*n$4.a:int [line 27]\n *n$3.a:int =n$5 [line 27]\n " shape="box"]
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); [line 27]\n NULLIFY(&this); [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 " shape="box"]
21 -> 20 ;
@ -60,11 +60,11 @@ digraph iCFG {
16 -> 15 ;
15 [label="15: Return Stmt \n n$0=*&arr[0][1].x:int [line 24]\n *&return:int =n$0 [line 24]\n REMOVE_TEMPS(n$0); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
15 [label="15: Return Stmt \n n$0=*&arr[0][1].x:int [line 24]\n *&return:int =n$0 [line 24]\n " shape="box"]
15 -> 14 ;
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]
14 [label="14: Exit matrix_of_person \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]
@ -75,18 +75,18 @@ digraph iCFG {
12 -> 11 ;
11 [label="11: Return Stmt \n n$0=*&arr[0].x:int [line 19]\n *&return:int =n$0 [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
11 [label="11: Return Stmt \n n$0=*&arr[0].x:int [line 19]\n *&return:int =n$0 [line 19]\n " shape="box"]
11 -> 10 ;
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]
10 [label="10: Exit array_of_person \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 ;
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 [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 " shape="box"]
8 -> 7 ;
@ -104,7 +104,7 @@ digraph iCFG {
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); [line 12]\n NULLIFY(&this); [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 " shape="box"]
3 -> 2 ;

@ -8,18 +8,18 @@ digraph iCFG {
10 -> 9 ;
9 [label="9: DeclStmt \n _fun_X_X(&x3:class X *,0:int ,1:int ) [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
9 [label="9: DeclStmt \n _fun_X_X(&x3:class X *,0:int ,1:int ) [line 23]\n " shape="box"]
9 -> 8 ;
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]
8 [label="8: Exit test \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 ;
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 [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 " shape="box"]
6 -> 5 ;
@ -30,7 +30,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -4,23 +4,23 @@ digraph iCFG {
44 -> 43 ;
43 [label="43: DeclStmt \n n$4=*&b.f:int [line 56]\n *&v:int =(1 / n$4) [line 56]\n REMOVE_TEMPS(n$4); [line 56]\n " shape="box"]
43 [label="43: DeclStmt \n n$4=*&b.f:int [line 56]\n *&v:int =(1 / n$4) [line 56]\n " shape="box"]
43 -> 42 ;
42 [label="42: DeclStmt \n n$3=*&b.f2:int [line 57]\n *&v2:int =(1 / n$3) [line 57]\n REMOVE_TEMPS(n$3); [line 57]\n " shape="box"]
42 [label="42: DeclStmt \n n$3=*&b.f2:int [line 57]\n *&v2:int =(1 / n$3) [line 57]\n " shape="box"]
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); [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 " shape="box"]
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); [line 59]\n NULLIFY(&v2); [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 " shape="box"]
40 -> 39 ;
39 [label="39: Exit f_f2_div1 \n NULLIFY(&b); [line 60]\n " color=yellow style=filled]
39 [label="39: Exit f_f2_div1 \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]
@ -31,15 +31,15 @@ digraph iCFG {
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); [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 " shape="box"]
36 -> 35 ;
35 [label="35: Return Stmt \n n$0=*&b.f2:int [line 51]\n *&return:int =(1 / n$0) [line 51]\n REMOVE_TEMPS(n$0); [line 51]\n APPLY_ABSTRACTION; [line 51]\n " shape="box"]
35 [label="35: Return Stmt \n n$0=*&b.f2:int [line 51]\n *&return:int =(1 / n$0) [line 51]\n " shape="box"]
35 -> 34 ;
34 [label="34: Exit delegate_constr_f2_div0 \n NULLIFY(&b); [line 52]\n " color=yellow style=filled]
34 [label="34: Exit delegate_constr_f2_div0 \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]
@ -50,15 +50,15 @@ digraph iCFG {
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); [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 " shape="box"]
31 -> 30 ;
30 [label="30: Return Stmt \n n$0=*&b.f:int [line 45]\n *&return:int =(1 / n$0) [line 45]\n REMOVE_TEMPS(n$0); [line 45]\n APPLY_ABSTRACTION; [line 45]\n " shape="box"]
30 [label="30: Return Stmt \n n$0=*&b.f:int [line 45]\n *&return:int =(1 / n$0) [line 45]\n " shape="box"]
30 -> 29 ;
29 [label="29: Exit delegate_constr_f_div0 \n NULLIFY(&b); [line 46]\n " color=yellow style=filled]
29 [label="29: Exit delegate_constr_f_div0 \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]
@ -69,11 +69,11 @@ digraph iCFG {
27 -> 26 ;
26 [label="26: Return Stmt \n n$0=*&b.t.v:int [line 39]\n *&return:int =(1 / n$0) [line 39]\n REMOVE_TEMPS(n$0); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"]
26 [label="26: Return Stmt \n n$0=*&b.t.v:int [line 39]\n *&return:int =(1 / n$0) [line 39]\n " shape="box"]
26 -> 25 ;
25 [label="25: Exit t_div0 \n NULLIFY(&b); [line 40]\n " color=yellow style=filled]
25 [label="25: Exit t_div0 \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]
@ -84,11 +84,11 @@ digraph iCFG {
23 -> 22 ;
22 [label="22: Return Stmt \n n$0=*&b.f:int [line 34]\n *&return:int =(1 / n$0) [line 34]\n REMOVE_TEMPS(n$0); [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
22 [label="22: Return Stmt \n n$0=*&b.f:int [line 34]\n *&return:int =(1 / n$0) [line 34]\n " shape="box"]
22 -> 21 ;
21 [label="21: Exit f_div0 \n NULLIFY(&b); [line 35]\n " color=yellow style=filled]
21 [label="21: Exit f_div0 \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]
@ -99,22 +99,22 @@ digraph iCFG {
19 -> 18 ;
18 [label="18: Return Stmt \n n$0=*&b.f2:int [line 29]\n *&return:int =(1 / n$0) [line 29]\n REMOVE_TEMPS(n$0); [line 29]\n APPLY_ABSTRACTION; [line 29]\n " shape="box"]
18 [label="18: Return Stmt \n n$0=*&b.f2:int [line 29]\n *&return:int =(1 / n$0) [line 29]\n " shape="box"]
18 -> 17 ;
17 [label="17: Exit f2_div0 \n NULLIFY(&b); [line 30]\n " color=yellow style=filled]
17 [label="17: Exit f2_div0 \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 ;
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 [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 " shape="box"]
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); [line 24]\n NULLIFY(&this); [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 " shape="box"]
14 -> 13 ;
@ -125,15 +125,15 @@ digraph iCFG {
12 -> 15 ;
11 [label="11: Constructor Init \n n$4=*&this:class B * [line 22]\n n$5=*&a:int [line 22]\n _fun_A_A(n$4:class B *,n$5:int ) [line 22]\n REMOVE_TEMPS(n$4,n$5); [line 22]\n " shape="box"]
11 [label="11: Constructor Init \n n$4=*&this:class B * [line 22]\n n$5=*&a:int [line 22]\n _fun_A_A(n$4:class B *,n$5:int ) [line 22]\n " shape="box"]
11 -> 10 ;
10 [label="10: Constructor Init \n n$2=*&this:class B * [line 22]\n n$3=*&a:int [line 22]\n *n$2.f2:int =n$3 [line 22]\n REMOVE_TEMPS(n$2,n$3); [line 22]\n " shape="box"]
10 [label="10: Constructor Init \n n$2=*&this:class B * [line 22]\n n$3=*&a:int [line 22]\n *n$2.f2:int =n$3 [line 22]\n " shape="box"]
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); [line 22]\n NULLIFY(&this); [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 " shape="box"]
9 -> 8 ;
@ -144,7 +144,7 @@ digraph iCFG {
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); [line 18]\n NULLIFY(&v); [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 " shape="box"]
6 -> 5 ;
@ -155,7 +155,7 @@ digraph iCFG {
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); [line 12]\n NULLIFY(&this); [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 " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
97 [label="97: DeclStmt \n n$2=_fun___new_array((sizeof(class Person *) * 10):unsigned long ) [line 97]\n *&tarray:class Person **=n$2 [line 97]\n REMOVE_TEMPS(n$2); [line 97]\n " shape="box"]
97 [label="97: DeclStmt \n n$2=_fun___new_array((sizeof(class Person *) * 10):unsigned long ) [line 97]\n *&tarray:class Person **=n$2 [line 97]\n " shape="box"]
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); [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 " shape="box"]
96 -> 95 ;
@ -15,7 +15,7 @@ digraph iCFG {
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); [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 " shape="box"]
93 -> 92 ;
@ -26,23 +26,23 @@ digraph iCFG {
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); [line 89]\n NULLIFY(&tarray); [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 " shape="box"]
90 -> 83 ;
89 [label="89: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =3 [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"]
89 [label="89: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =3 [line 89]\n " shape="box"]
89 -> 84 ;
88 [label="88: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =5 [line 89]\n APPLY_ABSTRACTION; [line 89]\n " shape="box"]
88 [label="88: ConditinalStmt Branch \n *&SIL_temp_conditional___n$0:int =5 [line 89]\n " shape="box"]
88 -> 84 ;
87 [label="87: Prune (false branch) \n PRUNE(((n$1 == 5) == 0), false); [line 89]\n REMOVE_TEMPS(n$1); [line 89]\n " shape="invhouse"]
87 [label="87: Prune (false branch) \n PRUNE(((n$1 == 5) == 0), false); [line 89]\n " shape="invhouse"]
87 -> 89 ;
86 [label="86: Prune (true branch) \n PRUNE(((n$1 == 5) != 0), true); [line 89]\n REMOVE_TEMPS(n$1); [line 89]\n " shape="invhouse"]
86 [label="86: Prune (true branch) \n PRUNE(((n$1 == 5) != 0), true); [line 89]\n " shape="invhouse"]
86 -> 88 ;
@ -62,11 +62,11 @@ digraph iCFG {
82 -> 85 ;
81 [label="81: DeclStmt \n n$10=_fun___new_array((sizeof(int ) * 100):unsigned long ) [line 83]\n *n$10[0]:int =1 [line 83]\n *n$10[1]:int =2 [line 83]\n *n$10[2]:int =3 [line 83]\n *n$10[3]:int =4 [line 83]\n *n$10[4]:int =5 [line 83]\n *n$10[5]:int =6 [line 83]\n *n$10[6]:int =7 [line 83]\n *n$10[7]:int =8 [line 83]\n *n$10[8]:int =9 [line 83]\n *n$10[9]:int =10 [line 83]\n *&arr:int *=n$10 [line 83]\n REMOVE_TEMPS(n$10); [line 83]\n " shape="box"]
81 [label="81: DeclStmt \n n$10=_fun___new_array((sizeof(int ) * 100):unsigned long ) [line 83]\n *n$10[0]:int =1 [line 83]\n *n$10[1]:int =2 [line 83]\n *n$10[2]:int =3 [line 83]\n *n$10[3]:int =4 [line 83]\n *n$10[4]:int =5 [line 83]\n *n$10[5]:int =6 [line 83]\n *n$10[6]:int =7 [line 83]\n *n$10[7]:int =8 [line 83]\n *n$10[8]:int =9 [line 83]\n *n$10[9]:int =10 [line 83]\n *&arr:int *=n$10 [line 83]\n " shape="box"]
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); [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 " shape="box"]
80 -> 79 ;
@ -77,23 +77,23 @@ digraph iCFG {
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); [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 " shape="box"]
77 -> 70 ;
76 [label="76: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 76]\n APPLY_ABSTRACTION; [line 76]\n " shape="box"]
76 [label="76: ConditinalStmt Branch \n *&SIL_temp_conditional___n$6:int =3 [line 76]\n " shape="box"]
76 -> 71 ;
75 [label="75: ConditinalStmt Branch \n n$8=_fun_getValue(5:int ) [line 76]\n *&SIL_temp_conditional___n$6:int =n$8 [line 76]\n REMOVE_TEMPS(n$8); [line 76]\n APPLY_ABSTRACTION; [line 76]\n " shape="box"]
75 [label="75: ConditinalStmt Branch \n n$8=_fun_getValue(5:int ) [line 76]\n *&SIL_temp_conditional___n$6:int =n$8 [line 76]\n " shape="box"]
75 -> 71 ;
74 [label="74: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 76]\n REMOVE_TEMPS(n$7); [line 76]\n " shape="invhouse"]
74 [label="74: Prune (false branch) \n PRUNE((n$7 == 0), false); [line 76]\n " shape="invhouse"]
74 -> 76 ;
73 [label="73: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 76]\n REMOVE_TEMPS(n$7); [line 76]\n " shape="invhouse"]
73 [label="73: Prune (true branch) \n PRUNE((n$7 != 0), true); [line 76]\n " shape="invhouse"]
73 -> 75 ;
@ -106,15 +106,15 @@ digraph iCFG {
71 -> 77 ;
70 [label="70: BinaryOperatorStmt: Assign \n n$5=*&x2:int * [line 77]\n *n$5[0]:int =1 [line 77]\n REMOVE_TEMPS(n$5); [line 77]\n " shape="box"]
70 [label="70: BinaryOperatorStmt: Assign \n n$5=*&x2:int * [line 77]\n *n$5[0]:int =1 [line 77]\n " shape="box"]
70 -> 69 ;
69 [label="69: BinaryOperatorStmt: Assign \n n$4=*&x2:int * [line 78]\n *n$4[1]:int =2 [line 78]\n REMOVE_TEMPS(n$4); [line 78]\n " shape="box"]
69 [label="69: BinaryOperatorStmt: Assign \n n$4=*&x2:int * [line 78]\n *n$4[1]:int =2 [line 78]\n " shape="box"]
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); [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 " shape="box"]
68 -> 67 ;
@ -129,23 +129,23 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
63 -> 58 ;
62 [label="62: ConditinalStmt Branch \n n$5=_fun_getValue(1:int ) [line 71]\n *&SIL_temp_conditional___n$3:int =n$5 [line 71]\n REMOVE_TEMPS(n$5); [line 71]\n APPLY_ABSTRACTION; [line 71]\n " shape="box"]
62 [label="62: ConditinalStmt Branch \n n$5=_fun_getValue(1:int ) [line 71]\n *&SIL_temp_conditional___n$3:int =n$5 [line 71]\n " shape="box"]
62 -> 58 ;
61 [label="61: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 71]\n REMOVE_TEMPS(n$4); [line 71]\n " shape="invhouse"]
61 [label="61: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 71]\n " shape="invhouse"]
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); [line 71]\n " shape="invhouse"]
60 [label="60: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 71]\n " shape="invhouse"]
60 -> 62 ;
@ -158,7 +158,7 @@ digraph iCFG {
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); [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 " shape="box"]
57 -> 56 ;
@ -169,31 +169,31 @@ digraph iCFG {
55 -> 65 ;
54 [label="54: DeclStmt \n *&z:int =6 [line 63]\n NULLIFY(&z); [line 63]\n " shape="box"]
54 [label="54: DeclStmt \n *&z:int =6 [line 63]\n " shape="box"]
54 -> 53 ;
53 [label="53: DeclStmt \n n$9=_fun___new(sizeof(int ):unsigned long ) [line 64]\n n$10=_fun_getValue(4:int ) [line 64]\n *n$9:int =n$10 [line 64]\n *&y:int *=n$9 [line 64]\n REMOVE_TEMPS(n$9,n$10); [line 64]\n " shape="box"]
53 [label="53: DeclStmt \n n$9=_fun___new(sizeof(int ):unsigned long ) [line 64]\n n$10=_fun_getValue(4:int ) [line 64]\n *n$9:int =n$10 [line 64]\n *&y:int *=n$9 [line 64]\n " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
51 -> 46 ;
50 [label="50: ConditinalStmt Branch \n n$5=_fun_getValue(1:int ) [line 65]\n *&SIL_temp_conditional___n$3:int =n$5 [line 65]\n REMOVE_TEMPS(n$5); [line 65]\n APPLY_ABSTRACTION; [line 65]\n " shape="box"]
50 [label="50: ConditinalStmt Branch \n n$5=_fun_getValue(1:int ) [line 65]\n *&SIL_temp_conditional___n$3:int =n$5 [line 65]\n " shape="box"]
50 -> 46 ;
49 [label="49: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 65]\n REMOVE_TEMPS(n$4); [line 65]\n " shape="invhouse"]
49 [label="49: Prune (false branch) \n PRUNE((n$4 == 0), false); [line 65]\n " shape="invhouse"]
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); [line 65]\n " shape="invhouse"]
48 [label="48: Prune (true branch) \n PRUNE((n$4 != 0), true); [line 65]\n " shape="invhouse"]
48 -> 50 ;
@ -206,7 +206,7 @@ digraph iCFG {
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); [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 " shape="box"]
45 -> 44 ;
@ -217,11 +217,11 @@ digraph iCFG {
43 -> 54 ;
42 [label="42: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 58]\n *n$2:int *=0 [line 58]\n *&x1:int *=n$2 [line 58]\n REMOVE_TEMPS(n$2); [line 58]\n " shape="box"]
42 [label="42: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 58]\n *n$2:int *=0 [line 58]\n *&x1:int *=n$2 [line 58]\n " shape="box"]
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); [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 " shape="box"]
41 -> 40 ;
@ -236,7 +236,7 @@ digraph iCFG {
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); [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 " shape="box"]
37 -> 36 ;
@ -247,11 +247,11 @@ digraph iCFG {
35 -> 38 ;
34 [label="34: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 48]\n *n$2:int =0 [line 48]\n *&x1:int *=n$2 [line 48]\n REMOVE_TEMPS(n$2); [line 48]\n " shape="box"]
34 [label="34: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 48]\n *n$2:int =0 [line 48]\n *&x1:int *=n$2 [line 48]\n " shape="box"]
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); [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 " shape="box"]
33 -> 32 ;
@ -262,11 +262,11 @@ digraph iCFG {
31 -> 34 ;
30 [label="30: DeclStmt \n n$2=_fun___new(sizeof(float ):unsigned long ) [line 43]\n *n$2:float =5.400000 [line 43]\n *&x1:float *=n$2 [line 43]\n REMOVE_TEMPS(n$2); [line 43]\n " shape="box"]
30 [label="30: DeclStmt \n n$2=_fun___new(sizeof(float ):unsigned long ) [line 43]\n *n$2:float =5.400000 [line 43]\n *&x1:float *=n$2 [line 43]\n " shape="box"]
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); [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 " shape="box"]
29 -> 28 ;
@ -277,11 +277,11 @@ digraph iCFG {
27 -> 30 ;
26 [label="26: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 38]\n *n$2:int =5 [line 38]\n *&x1:int *=n$2 [line 38]\n REMOVE_TEMPS(n$2); [line 38]\n " shape="box"]
26 [label="26: DeclStmt \n n$2=_fun___new(sizeof(int ):unsigned long ) [line 38]\n *n$2:int =5 [line 38]\n *&x1:int *=n$2 [line 38]\n " shape="box"]
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); [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 " shape="box"]
25 -> 24 ;
@ -292,11 +292,11 @@ digraph iCFG {
23 -> 26 ;
22 [label="22: DeclStmt \n n$2=_fun___new(sizeof(class Person ):unsigned long ) [line 33]\n _fun_Person_Person(n$2:class Person *,5:int ,6:int ,7:int ) [line 33]\n *&p:class Person *=n$2 [line 33]\n REMOVE_TEMPS(n$2); [line 33]\n " shape="box"]
22 [label="22: DeclStmt \n n$2=_fun___new(sizeof(class Person ):unsigned long ) [line 33]\n _fun_Person_Person(n$2:class Person *,5:int ,6:int ,7:int ) [line 33]\n *&p:class Person *=n$2 [line 33]\n " shape="box"]
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); [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 " shape="box"]
21 -> 20 ;
@ -307,11 +307,11 @@ digraph iCFG {
19 -> 22 ;
18 [label="18: DeclStmt \n n$2=_fun___new(sizeof(class Person ):unsigned long ) [line 28]\n _fun_Person_Person(n$2:class Person *,5:int ) [line 28]\n *&p:class Person *=n$2 [line 28]\n REMOVE_TEMPS(n$2); [line 28]\n " shape="box"]
18 [label="18: DeclStmt \n n$2=_fun___new(sizeof(class Person ):unsigned long ) [line 28]\n _fun_Person_Person(n$2:class Person *,5:int ) [line 28]\n *&p:class Person *=n$2 [line 28]\n " shape="box"]
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); [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 " shape="box"]
17 -> 16 ;
@ -322,7 +322,7 @@ digraph iCFG {
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); [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 " shape="box"]
14 -> 13 ;
@ -333,15 +333,15 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [line 18]\n NULLIFY(&this); [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 " shape="box"]
9 -> 8 ;
@ -352,7 +352,7 @@ digraph iCFG {
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); [line 13]\n NULLIFY(&this); [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 " shape="box"]
6 -> 5 ;
@ -363,7 +363,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,17 +1,17 @@
/* @generated */
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); [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 " shape="box"]
6 -> 5 ;
5 [label="5: Exit test \n NULLIFY(&p); [line 17]\n " color=yellow style=filled]
5 [label="5: Exit test \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 ;
3 [label="3: Constructor Init \n n$0=*&this:class Person * [line 14]\n n$1=*&l:class Insets & [line 14]\n n$2=*n$1.top:int [line 14]\n *n$0.age:int =n$2 [line 14]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 14]\n NULLIFY(&l); [line 14]\n NULLIFY(&this); [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:class Insets & [line 14]\n n$2=*n$1.top:int [line 14]\n *n$0.age:int =n$2 [line 14]\n " shape="box"]
3 -> 2 ;

@ -4,11 +4,11 @@ digraph iCFG {
26 -> 25 ;
25 [label="25: Call _fun_X_div \n n$0=*&x:class X [line 40]\n n$1=_fun_X_div(&x:class X &) [line 40]\n REMOVE_TEMPS(n$0,n$1); [line 40]\n APPLY_ABSTRACTION; [line 40]\n " shape="box"]
25 [label="25: Call _fun_X_div \n n$0=*&x:class X [line 40]\n n$1=_fun_X_div(&x:class X &) [line 40]\n " shape="box"]
25 -> 24 ;
24 [label="24: Exit test_div1 \n NULLIFY(&x); [line 41]\n " color=yellow style=filled]
24 [label="24: Exit test_div1 \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]
@ -19,11 +19,11 @@ digraph iCFG {
22 -> 21 ;
21 [label="21: Call _fun_X_div \n n$0=*&x:class X [line 35]\n n$1=_fun_X_div(&x:class X &) [line 35]\n REMOVE_TEMPS(n$0,n$1); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
21 [label="21: Call _fun_X_div \n n$0=*&x:class X [line 35]\n n$1=_fun_X_div(&x:class X &) [line 35]\n " shape="box"]
21 -> 20 ;
20 [label="20: Exit test_div0_default_constructor \n NULLIFY(&x); [line 36]\n " color=yellow style=filled]
20 [label="20: Exit test_div0_default_constructor \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]
@ -34,26 +34,26 @@ digraph iCFG {
18 -> 17 ;
17 [label="17: Call _fun_X_div \n n$0=*&x:class X [line 30]\n n$1=_fun_X_div(&x:class X &) [line 30]\n REMOVE_TEMPS(n$0,n$1); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
17 [label="17: Call _fun_X_div \n n$0=*&x:class X [line 30]\n n$1=_fun_X_div(&x:class X &) [line 30]\n " shape="box"]
17 -> 16 ;
16 [label="16: Exit test_div0 \n NULLIFY(&x); [line 31]\n " color=yellow style=filled]
16 [label="16: Exit test_div0 \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 ;
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 [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 " shape="box"]
14 -> 13 ;
13 [label="13: Call _fun_X_init \n n$2=*&this:class X * [line 24]\n n$3=*n$2:class X [line 24]\n _fun_X_init(n$2:class X *) [line 24]\n REMOVE_TEMPS(n$2,n$3); [line 24]\n " shape="box"]
13 [label="13: Call _fun_X_init \n n$2=*&this:class X * [line 24]\n n$3=*n$2:class X [line 24]\n _fun_X_init(n$2:class X *) [line 24]\n " shape="box"]
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); [line 25]\n NULLIFY(&this); [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 " shape="box"]
12 -> 11 ;
@ -64,7 +64,7 @@ digraph iCFG {
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); [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 " shape="box"]
9 -> 8 ;
@ -75,7 +75,7 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
@ -86,7 +86,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -12,19 +12,19 @@ digraph iCFG {
63 -> 62 ;
62 [label="62: DeclStmt \n n$5=*&y2.f:int [line 76]\n *&d1:int =(1 / n$5) [line 76]\n REMOVE_TEMPS(n$5); [line 76]\n " shape="box"]
62 [label="62: DeclStmt \n n$5=*&y2.f:int [line 76]\n *&d1:int =(1 / n$5) [line 76]\n " shape="box"]
62 -> 61 ;
61 [label="61: DeclStmt \n _fun_getY(2:int ,&__temp_return_n$3:class Y *) [line 77]\n n$4=*&__temp_return_n$3.f:int [line 77]\n *&d2:int =(1 / n$4) [line 77]\n REMOVE_TEMPS(n$4); [line 77]\n " shape="box"]
61 [label="61: DeclStmt \n _fun_getY(2:int ,&__temp_return_n$3:class Y *) [line 77]\n n$4=*&__temp_return_n$3.f:int [line 77]\n *&d2:int =(1 / n$4) [line 77]\n " shape="box"]
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); [line 78]\n NULLIFY(&d2); [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 " shape="box"]
60 -> 59 ;
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]
59 [label="59: Exit copyY_moveY_div1 \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]
@ -43,19 +43,19 @@ digraph iCFG {
55 -> 54 ;
54 [label="54: DeclStmt \n n$5=*&x2.f:int [line 67]\n *&d1:int =(1 / n$5) [line 67]\n REMOVE_TEMPS(n$5); [line 67]\n " shape="box"]
54 [label="54: DeclStmt \n n$5=*&x2.f:int [line 67]\n *&d1:int =(1 / n$5) [line 67]\n " shape="box"]
54 -> 53 ;
53 [label="53: DeclStmt \n _fun_getX(1:int ,&__temp_return_n$3:class X *) [line 68]\n n$4=*&__temp_return_n$3.f:int [line 68]\n *&d2:int =(1 / n$4) [line 68]\n REMOVE_TEMPS(n$4); [line 68]\n " shape="box"]
53 [label="53: DeclStmt \n _fun_getX(1:int ,&__temp_return_n$3:class X *) [line 68]\n n$4=*&__temp_return_n$3.f:int [line 68]\n *&d2:int =(1 / n$4) [line 68]\n " shape="box"]
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); [line 69]\n NULLIFY(&d2); [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 " shape="box"]
52 -> 51 ;
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]
51 [label="51: Exit copyX_moveX_div1 \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]
@ -70,22 +70,22 @@ digraph iCFG {
48 -> 47 ;
47 [label="47: Return Stmt \n n$0=*&y2.f:int [line 60]\n *&return:int =(1 / n$0) [line 60]\n REMOVE_TEMPS(n$0); [line 60]\n APPLY_ABSTRACTION; [line 60]\n " shape="box"]
47 [label="47: Return Stmt \n n$0=*&y2.f:int [line 60]\n *&return:int =(1 / n$0) [line 60]\n " shape="box"]
47 -> 46 ;
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]
46 [label="46: Exit moveY_moveY_copyY_div0 \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 -> 49 ;
44 [label="44: Return Stmt \n _fun_getY(1:int ,&__temp_return_n$1:class Y *) [line 55]\n n$2=*&__temp_return_n$1.f:int [line 55]\n *&return:int =(1 / n$2) [line 55]\n REMOVE_TEMPS(n$2); [line 55]\n APPLY_ABSTRACTION; [line 55]\n " shape="box"]
44 [label="44: Return Stmt \n _fun_getY(1:int ,&__temp_return_n$1:class Y *) [line 55]\n n$2=*&__temp_return_n$1.f:int [line 55]\n *&return:int =(1 / n$2) [line 55]\n " shape="box"]
44 -> 43 ;
43 [label="43: Exit moveY_div0 \n NULLIFY(&__temp_return_n$1); [line 55]\n " color=yellow style=filled]
43 [label="43: Exit moveY_div0 \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]
@ -104,22 +104,22 @@ digraph iCFG {
39 -> 38 ;
38 [label="38: Return Stmt \n n$0=*&y2.f:int [line 52]\n *&return:int =(1 / n$0) [line 52]\n REMOVE_TEMPS(n$0); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="box"]
38 [label="38: Return Stmt \n n$0=*&y2.f:int [line 52]\n *&return:int =(1 / n$0) [line 52]\n " shape="box"]
38 -> 37 ;
37 [label="37: Exit copyY_div0 \n NULLIFY(&y2); [line 53]\n NULLIFY(&y1); [line 53]\n " color=yellow style=filled]
37 [label="37: Exit copyY_div0 \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 -> 41 ;
35 [label="35: Return Stmt \n _fun_getX(0:int ,&__temp_return_n$1:class X *) [line 46]\n n$2=*&__temp_return_n$1.f:int [line 46]\n *&return:int =(1 / n$2) [line 46]\n REMOVE_TEMPS(n$2); [line 46]\n APPLY_ABSTRACTION; [line 46]\n " shape="box"]
35 [label="35: Return Stmt \n _fun_getX(0:int ,&__temp_return_n$1:class X *) [line 46]\n n$2=*&__temp_return_n$1.f:int [line 46]\n *&return:int =(1 / n$2) [line 46]\n " shape="box"]
35 -> 34 ;
34 [label="34: Exit moveX_div0 \n NULLIFY(&__temp_return_n$1); [line 46]\n " color=yellow style=filled]
34 [label="34: Exit moveX_div0 \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]
@ -138,11 +138,11 @@ digraph iCFG {
30 -> 29 ;
29 [label="29: Return Stmt \n n$0=*&x2.f:int [line 43]\n *&return:int =(1 / n$0) [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
29 [label="29: Return Stmt \n n$0=*&x2.f:int [line 43]\n *&return:int =(1 / n$0) [line 43]\n " shape="box"]
29 -> 28 ;
28 [label="28: Exit copyX_div0 \n NULLIFY(&x2); [line 44]\n NULLIFY(&x1); [line 44]\n " color=yellow style=filled]
28 [label="28: Exit copyX_div0 \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]
@ -153,15 +153,15 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
24 -> 23 ;
23 [label="23: Exit getY \n NULLIFY(&y); [line 37]\n " color=yellow style=filled]
23 [label="23: Exit getY \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]
@ -172,22 +172,22 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
19 -> 18 ;
18 [label="18: Exit getX \n NULLIFY(&x); [line 31]\n " color=yellow style=filled]
18 [label="18: Exit getX \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 ;
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 [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 " shape="box"]
16 -> 15 ;
@ -198,7 +198,7 @@ digraph iCFG {
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); [line 22]\n NULLIFY(&y); [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 " shape="box"]
13 -> 12 ;
@ -216,7 +216,7 @@ digraph iCFG {
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); [line 13]\n NULLIFY(&this); [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 " shape="box"]
8 -> 7 ;
@ -227,7 +227,7 @@ digraph iCFG {
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); [line 13]\n NULLIFY(&this); [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 " shape="box"]
5 -> 4 ;

@ -1,25 +1,25 @@
/* @generated */
digraph iCFG {
18 [label="18: DeclStmt \n _fun_Y_Y(&y:class Y *) [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
18 [label="18: DeclStmt \n _fun_Y_Y(&y:class Y *) [line 25]\n " shape="box"]
18 -> 17 ;
17 [label="17: Exit test \n NULLIFY(&y); [line 25]\n " color=yellow style=filled]
17 [label="17: Exit test \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 -> 18 ;
15 [label="15: Constructor Init \n n$2=*&this:class Y * [line 20]\n _fun_X_X(n$2.x1:class X *,1:int ,2:int ) [line 20]\n REMOVE_TEMPS(n$2); [line 20]\n " shape="box"]
15 [label="15: Constructor Init \n n$2=*&this:class Y * [line 20]\n _fun_X_X(n$2.x1:class X *,1:int ,2:int ) [line 20]\n " shape="box"]
15 -> 14 ;
14 [label="14: Constructor Init \n n$1=*&this:class Y * [line 21]\n _fun_X_X(n$1.x2:class X *) [line 21]\n REMOVE_TEMPS(n$1); [line 21]\n " shape="box"]
14 [label="14: Constructor Init \n n$1=*&this:class Y * [line 21]\n _fun_X_X(n$1.x2:class X *) [line 21]\n " shape="box"]
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); [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 " shape="box"]
13 -> 12 ;
@ -30,15 +30,15 @@ digraph iCFG {
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); [line 16]\n NULLIFY(&b); [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 " shape="box"]
10 -> 9 ;
9 [label="9: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n " shape="box"]
9 [label="9: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n " shape="box"]
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); [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 " shape="box"]
8 -> 7 ;
@ -49,15 +49,15 @@ digraph iCFG {
6 -> 10 ;
5 [label="5: Constructor Init \n n$2=*&this:class X * [line 11]\n *n$2.a:int =-1 [line 11]\n REMOVE_TEMPS(n$2); [line 11]\n " shape="box"]
5 [label="5: Constructor Init \n n$2=*&this:class X * [line 11]\n *n$2.a:int =-1 [line 11]\n " shape="box"]
5 -> 4 ;
4 [label="4: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n " shape="box"]
4 [label="4: Constructor Init \n n$1=*&this:class X * [line 12]\n *n$1.b:int =-2 [line 12]\n " shape="box"]
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); [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 " shape="box"]
3 -> 2 ;

@ -1,34 +1,34 @@
/* @generated */
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); [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 " shape="box"]
11 -> 10 ;
10 [label="10: Exit main \n NULLIFY(&x); [line 24]\n " color=yellow style=filled]
10 [label="10: Exit main \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 ;
8 [label="8: Prune (false branch) \n PRUNE(((n$4 != n$7) == 0), false); [line 15]\n REMOVE_TEMPS(n$4,n$7); [line 15]\n NULLIFY(&i); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="invhouse"]
8 [label="8: Prune (false branch) \n PRUNE(((n$4 != n$7) == 0), false); [line 15]\n " shape="invhouse"]
8 -> 2 ;
7 [label="7: Prune (true branch) \n PRUNE(((n$4 != n$7) != 0), true); [line 15]\n REMOVE_TEMPS(n$4,n$7); [line 15]\n " shape="invhouse"]
7 [label="7: Prune (true branch) \n PRUNE(((n$4 != n$7) != 0), true); [line 15]\n " shape="invhouse"]
7 -> 5 ;
6 [label="6: BinaryOperatorStmt: NE \n n$4=*&i:int * [line 15]\n n$5=*&list:class std::initializer_list<int> & [line 15]\n n$6=*n$5:class std::initializer_list<int> [line 15]\n n$7=_fun_std::initializer_list<int>_end(n$5:class std::initializer_list<int> &) [line 15]\n REMOVE_TEMPS(n$5,n$6); [line 15]\n " shape="box"]
6 [label="6: BinaryOperatorStmt: NE \n n$4=*&i:int * [line 15]\n n$5=*&list:class std::initializer_list<int> & [line 15]\n n$6=*n$5:class std::initializer_list<int> [line 15]\n n$7=_fun_std::initializer_list<int>_end(n$5:class std::initializer_list<int> &) [line 15]\n " shape="box"]
6 -> 7 ;
6 -> 8 ;
5 [label="5: UnaryOperator \n n$3=*&i:int * [line 15]\n *&i:int *=(n$3 + 1) [line 15]\n REMOVE_TEMPS(n$3); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
5 [label="5: UnaryOperator \n n$3=*&i:int * [line 15]\n *&i:int *=(n$3 + 1) [line 15]\n " shape="box"]
5 -> 3 ;
4 [label="4: DeclStmt \n n$0=*&list:class std::initializer_list<int> & [line 15]\n n$1=*n$0:class std::initializer_list<int> [line 15]\n n$2=_fun_std::initializer_list<int>_begin(n$0:class std::initializer_list<int> &) [line 15]\n *&i:int *=n$2 [line 15]\n REMOVE_TEMPS(n$0,n$1,n$2); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
4 [label="4: DeclStmt \n n$0=*&list:class std::initializer_list<int> & [line 15]\n n$1=*n$0:class std::initializer_list<int> [line 15]\n n$2=_fun_std::initializer_list<int>_begin(n$0:class std::initializer_list<int> &) [line 15]\n *&i:int *=n$2 [line 15]\n " shape="box"]
4 -> 3 ;

@ -1,76 +1,76 @@
/* @generated */
digraph iCFG {
43 [label="43: Return Stmt \n _fun_getX(1:int ,0:int ,&__temp_return_n$1:class X *) [line 43]\n n$2=*&__temp_return_n$1.f:int [line 43]\n n$3=_fun_div(n$2:int ) [line 43]\n *&return:int =n$3 [line 43]\n REMOVE_TEMPS(n$2,n$3); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
43 [label="43: Return Stmt \n _fun_getX(1:int ,0:int ,&__temp_return_n$1:class X *) [line 43]\n n$2=*&__temp_return_n$1.f:int [line 43]\n n$3=_fun_div(n$2:int ) [line 43]\n *&return:int =n$3 [line 43]\n " shape="box"]
43 -> 42 ;
42 [label="42: Exit getX_field_div1 \n NULLIFY(&__temp_return_n$1); [line 43]\n " color=yellow style=filled]
42 [label="42: Exit getX_field_div1 \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 -> 43 ;
40 [label="40: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,1:int ,0:int ) [line 41]\n n$1=*&__temp_construct_n$0.f:int [line 41]\n n$2=_fun_div(n$1:int ) [line 41]\n *&return:int =n$2 [line 41]\n REMOVE_TEMPS(n$1,n$2); [line 41]\n APPLY_ABSTRACTION; [line 41]\n " shape="box"]
40 [label="40: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,1:int ,0:int ) [line 41]\n n$1=*&__temp_construct_n$0.f:int [line 41]\n n$2=_fun_div(n$1:int ) [line 41]\n *&return:int =n$2 [line 41]\n " shape="box"]
40 -> 39 ;
39 [label="39: Exit temp_field_div1 \n NULLIFY(&__temp_construct_n$0); [line 41]\n " color=yellow style=filled]
39 [label="39: Exit temp_field_div1 \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 -> 40 ;
37 [label="37: Return Stmt \n _fun_getX(0:int ,1:int ,&__temp_return_n$1:class X *) [line 39]\n n$2=_fun_X_div(&__temp_return_n$1:class X &) [line 39]\n *&return:int =n$2 [line 39]\n REMOVE_TEMPS(n$2); [line 39]\n APPLY_ABSTRACTION; [line 39]\n " shape="box"]
37 [label="37: Return Stmt \n _fun_getX(0:int ,1:int ,&__temp_return_n$1:class X *) [line 39]\n n$2=_fun_X_div(&__temp_return_n$1:class X &) [line 39]\n *&return:int =n$2 [line 39]\n " shape="box"]
37 -> 36 ;
36 [label="36: Exit getX_method_div0 \n NULLIFY(&__temp_return_n$1); [line 39]\n " color=yellow style=filled]
36 [label="36: Exit getX_method_div0 \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 -> 37 ;
34 [label="34: Return Stmt \n _fun_getX(0:int ,1:int ,&__temp_return_n$1:class X *) [line 37]\n n$2=*&__temp_return_n$1.f:int [line 37]\n n$3=_fun_div(n$2:int ) [line 37]\n *&return:int =n$3 [line 37]\n REMOVE_TEMPS(n$2,n$3); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
34 [label="34: Return Stmt \n _fun_getX(0:int ,1:int ,&__temp_return_n$1:class X *) [line 37]\n n$2=*&__temp_return_n$1.f:int [line 37]\n n$3=_fun_div(n$2:int ) [line 37]\n *&return:int =n$3 [line 37]\n " shape="box"]
34 -> 33 ;
33 [label="33: Exit getX_field_div0 \n NULLIFY(&__temp_return_n$1); [line 37]\n " color=yellow style=filled]
33 [label="33: Exit getX_field_div0 \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 -> 34 ;
31 [label="31: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,0:int ,1:int ) [line 35]\n n$1=_fun_X_div(&__temp_construct_n$0:class X &) [line 35]\n *&return:int =n$1 [line 35]\n REMOVE_TEMPS(n$1); [line 35]\n APPLY_ABSTRACTION; [line 35]\n " shape="box"]
31 [label="31: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,0:int ,1:int ) [line 35]\n n$1=_fun_X_div(&__temp_construct_n$0:class X &) [line 35]\n *&return:int =n$1 [line 35]\n " shape="box"]
31 -> 30 ;
30 [label="30: Exit temp_method_div0 \n NULLIFY(&__temp_construct_n$0); [line 35]\n " color=yellow style=filled]
30 [label="30: Exit temp_method_div0 \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 -> 31 ;
28 [label="28: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,0:int ) [line 33]\n n$1=*&__temp_construct_n$0.f:int [line 33]\n n$2=_fun_div(n$1:int ) [line 33]\n *&return:int =n$2 [line 33]\n REMOVE_TEMPS(n$1,n$2); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"]
28 [label="28: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,0:int ) [line 33]\n n$1=*&__temp_construct_n$0.f:int [line 33]\n n$2=_fun_div(n$1:int ) [line 33]\n *&return:int =n$2 [line 33]\n " shape="box"]
28 -> 27 ;
27 [label="27: Exit temp_field2_div0 \n NULLIFY(&__temp_construct_n$0); [line 33]\n " color=yellow style=filled]
27 [label="27: Exit temp_field2_div0 \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 -> 28 ;
25 [label="25: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,0:int ,1:int ) [line 31]\n n$1=*&__temp_construct_n$0.f:int [line 31]\n n$2=_fun_div(n$1:int ) [line 31]\n *&return:int =n$2 [line 31]\n REMOVE_TEMPS(n$1,n$2); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
25 [label="25: Return Stmt \n _fun_X_X(&__temp_construct_n$0:class X *,0:int ,1:int ) [line 31]\n n$1=*&__temp_construct_n$0.f:int [line 31]\n n$2=_fun_div(n$1:int ) [line 31]\n *&return:int =n$2 [line 31]\n " shape="box"]
25 -> 24 ;
24 [label="24: Exit temp_field_div0 \n NULLIFY(&__temp_construct_n$0); [line 31]\n " color=yellow style=filled]
24 [label="24: Exit temp_field_div0 \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]
@ -81,29 +81,29 @@ digraph iCFG {
22 -> 21 ;
21 [label="21: Return Stmt \n n$0=*&x:class X [line 28]\n n$1=_fun_X_div(&x:class X &) [line 28]\n *&return:int =n$1 [line 28]\n REMOVE_TEMPS(n$0,n$1); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
21 [label="21: Return Stmt \n n$0=*&x:class X [line 28]\n n$1=_fun_X_div(&x:class X &) [line 28]\n *&return:int =n$1 [line 28]\n " shape="box"]
21 -> 20 ;
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]
20 [label="20: Exit assign_temp_div0 \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 ;
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 [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 " shape="box"]
18 -> 17 ;
17 [label="17: Exit getX \n NULLIFY(&SIL_materialize_temp__n$1); [line 24]\n " color=yellow style=filled]
17 [label="17: Exit getX \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 ;
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 [label="15: Return Stmt \n n$0=*&f:int [line 19]\n *&return:int =(1 / n$0) [line 19]\n " shape="box"]
15 -> 14 ;
@ -114,7 +114,7 @@ digraph iCFG {
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); [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 " shape="box"]
12 -> 11 ;
@ -125,7 +125,7 @@ digraph iCFG {
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); [line 14]\n NULLIFY(&x); [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 " shape="box"]
9 -> 8 ;
@ -136,7 +136,7 @@ digraph iCFG {
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); [line 12]\n NULLIFY(&this); [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 " shape="box"]
6 -> 5 ;
@ -147,7 +147,7 @@ digraph iCFG {
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); [line 11]\n NULLIFY(&this); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
8 -> 7 ;
@ -11,7 +11,7 @@ digraph iCFG {
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); [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 " shape="box"]
5 -> 4 ;

@ -4,11 +4,11 @@ digraph iCFG {
13 -> 12 ;
12 [label="12: Call _fun_destroy<int *> \n n$0=_fun_destroy<int *>(&t:int **) [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
12 [label="12: Call _fun_destroy<int *> \n n$0=_fun_destroy<int *>(&t:int **) [line 25]\n " shape="box"]
12 -> 11 ;
11 [label="11: Exit test \n NULLIFY(&t); [line 26]\n " color=yellow style=filled]
11 [label="11: Exit test \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]
@ -19,7 +19,7 @@ digraph iCFG {
9 -> 8 ;
8 [label="8: Return Stmt \n *&return:int =0 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
8 [label="8: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
8 -> 7 ;
@ -30,7 +30,7 @@ digraph iCFG {
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); [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 " shape="box"]
5 -> 4 ;
@ -38,7 +38,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
6 -> 5 ;
@ -11,7 +11,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
17 [label="17: Return Stmt \n n$0=_fun_deref(0:int *) [line 28]\n *&return:int =n$0 [line 28]\n REMOVE_TEMPS(n$0); [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
17 [label="17: Return Stmt \n n$0=_fun_deref(0:int *) [line 28]\n *&return:int =n$0 [line 28]\n " shape="box"]
17 -> 16 ;
@ -11,7 +11,7 @@ digraph iCFG {
15 -> 17 ;
14 [label="14: Call _fun_deref_null \n n$0=_fun_deref_null(null:int *) [line 24]\n REMOVE_TEMPS(n$0); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
14 [label="14: Call _fun_deref_null \n n$0=_fun_deref_null(null:int *) [line 24]\n " shape="box"]
14 -> 13 ;
@ -22,7 +22,7 @@ digraph iCFG {
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); [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 " shape="box"]
11 -> 10 ;
@ -33,15 +33,15 @@ digraph iCFG {
9 -> 11 ;
8 [label="8: Return Stmt \n *&return:int =\"Null pointer!\" [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
8 [label="8: Return Stmt \n *&return:int =\"Null pointer!\" [line 12]\n " shape="box"]
8 -> 2 ;
7 [label="7: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 11]\n REMOVE_TEMPS(n$2); [line 11]\n " shape="invhouse"]
7 [label="7: Prune (false branch) \n PRUNE(((n$2 == 0) == 0), false); [line 11]\n " shape="invhouse"]
7 -> 4 ;
6 [label="6: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 11]\n REMOVE_TEMPS(n$2); [line 11]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n PRUNE(((n$2 == 0) != 0), true); [line 11]\n " shape="invhouse"]
6 -> 8 ;
@ -54,7 +54,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
6 [label="6: Return Stmt \n *&return:int =(1 / 0) [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
6 [label="6: Return Stmt \n *&return:int =(1 / 0) [line 19]\n " shape="box"]
6 -> 5 ;
@ -11,7 +11,7 @@ digraph iCFG {
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
36 [label="36: Call _fun_div0_templ<A> \n n$0=_fun_div0_templ<A>() [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
36 [label="36: Call _fun_div0_templ<A> \n n$0=_fun_div0_templ<A>() [line 25]\n " shape="box"]
36 -> 35 ;
@ -11,7 +11,7 @@ digraph iCFG {
34 -> 36 ;
33 [label="33: Call _fun_div0_templ<int> \n n$0=_fun_div0_templ<int>() [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
33 [label="33: Call _fun_div0_templ<int> \n n$0=_fun_div0_templ<int>() [line 23]\n " shape="box"]
33 -> 32 ;
@ -26,11 +26,11 @@ digraph iCFG {
30 -> 29 ;
29 [label="29: Call _fun_B<A>_div0 \n n$0=*&b:class B<A> [line 20]\n n$1=_fun_B<A>_div0(&b:class B<A> &) [line 20]\n REMOVE_TEMPS(n$0,n$1); [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
29 [label="29: Call _fun_B<A>_div0 \n n$0=*&b:class B<A> [line 20]\n n$1=_fun_B<A>_div0(&b:class B<A> &) [line 20]\n " shape="box"]
29 -> 28 ;
28 [label="28: Exit div0_B_A \n NULLIFY(&b); [line 21]\n " color=yellow style=filled]
28 [label="28: Exit div0_B_A \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]
@ -41,18 +41,18 @@ digraph iCFG {
26 -> 25 ;
25 [label="25: Call _fun_B<int>_div0 \n n$0=*&b:class B<int> [line 15]\n n$1=_fun_B<int>_div0(&b:class B<int> &) [line 15]\n REMOVE_TEMPS(n$0,n$1); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
25 [label="25: Call _fun_B<int>_div0 \n n$0=*&b:class B<int> [line 15]\n n$1=_fun_B<int>_div0(&b:class B<int> &) [line 15]\n " shape="box"]
25 -> 24 ;
24 [label="24: Exit div0_B_int \n NULLIFY(&b); [line 16]\n " color=yellow style=filled]
24 [label="24: Exit div0_B_int \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 -> 26 ;
22 [label="22: Return Stmt \n *&return:int =(1 / 0) [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
22 [label="22: Return Stmt \n *&return:int =(1 / 0) [line 23]\n " shape="box"]
22 -> 21 ;
@ -63,7 +63,7 @@ digraph iCFG {
20 -> 22 ;
19 [label="19: Return Stmt \n *&return:int =(1 / 0) [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
19 [label="19: Return Stmt \n *&return:int =(1 / 0) [line 23]\n " shape="box"]
19 -> 18 ;
@ -74,7 +74,7 @@ digraph iCFG {
17 -> 19 ;
16 [label="16: Return Stmt \n *&return:int =(1 / 0) [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
16 [label="16: Return Stmt \n *&return:int =(1 / 0) [line 19]\n " shape="box"]
16 -> 15 ;
@ -92,7 +92,7 @@ digraph iCFG {
12 -> 13 ;
11 [label="11: Return Stmt \n *&return:int =(1 / 0) [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
11 [label="11: Return Stmt \n *&return:int =(1 / 0) [line 16]\n " shape="box"]
11 -> 10 ;
@ -110,7 +110,7 @@ digraph iCFG {
7 -> 8 ;
6 [label="6: Return Stmt \n *&return:int =(1 / 0) [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
6 [label="6: Return Stmt \n *&return:int =(1 / 0) [line 16]\n " shape="box"]
6 -> 5 ;
@ -121,7 +121,7 @@ digraph iCFG {
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =(1 / 0) [line 11]\n " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
9 -> 8 ;
@ -11,7 +11,7 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
@ -22,7 +22,7 @@ digraph iCFG {
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); [line 12]\n NULLIFY(&self); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
3 [label="3: Return Stmt \n *&return:int *=null [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int *=null [line 10]\n " shape="box"]
3 -> 2 ;

@ -1,14 +1,14 @@
/* @generated */
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
21 -> 20 ;
@ -16,11 +16,11 @@ digraph iCFG {
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); [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 " shape="box"]
19 -> 18 ;
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 [label="18: DeclStmt \n *&f2:float =0.000000 [line 23]\n " shape="box"]
18 -> 17 ;
@ -31,7 +31,7 @@ digraph iCFG {
16 -> 23 ;
15 [label="15: Return Stmt \n *&return:int =0 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
15 [label="15: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
15 -> 14 ;
@ -42,7 +42,7 @@ digraph iCFG {
13 -> 15 ;
12 [label="12: Return Stmt \n *&return:void =-1 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
12 [label="12: Return Stmt \n *&return:void =-1 [line 14]\n " shape="box"]
12 -> 11 ;
@ -53,7 +53,7 @@ digraph iCFG {
10 -> 12 ;
9 [label="9: Return Stmt \n *&return:float *=null [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
9 [label="9: Return Stmt \n *&return:float *=null [line 14]\n " shape="box"]
9 -> 8 ;
@ -64,7 +64,7 @@ digraph iCFG {
7 -> 9 ;
6 [label="6: Return Stmt \n *&return:float =0.000000 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
6 [label="6: Return Stmt \n *&return:float =0.000000 [line 14]\n " shape="box"]
6 -> 5 ;
@ -75,7 +75,7 @@ digraph iCFG {
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 14]\n APPLY_ABSTRACTION; [line 14]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 14]\n " shape="box"]
3 -> 2 ;

@ -8,19 +8,19 @@ digraph iCFG {
42 -> 35 ;
41 [label="41: DeclStmt \n n$15=_fun_iterator_operator*(&__begin:class iterator &) [line 37]\n *&value:int =n$15 [line 37]\n REMOVE_TEMPS(n$15); [line 37]\n " shape="box"]
41 [label="41: DeclStmt \n n$15=_fun_iterator_operator*(&__begin:class iterator &) [line 37]\n *&value:int =n$15 [line 37]\n " shape="box"]
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); [line 38]\n NULLIFY(&value); [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 " shape="box"]
40 -> 36 ;
39 [label="39: Prune (false branch) \n PRUNE((n$12 == 0), false); [line 37]\n REMOVE_TEMPS(n$12); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="invhouse"]
39 [label="39: Prune (false branch) \n PRUNE((n$12 == 0), false); [line 37]\n " shape="invhouse"]
39 -> 32 ;
38 [label="38: Prune (true branch) \n PRUNE((n$12 != 0), true); [line 37]\n REMOVE_TEMPS(n$12); [line 37]\n " shape="invhouse"]
38 [label="38: Prune (true branch) \n PRUNE((n$12 != 0), true); [line 37]\n " shape="invhouse"]
38 -> 41 ;
@ -29,15 +29,15 @@ digraph iCFG {
37 -> 38 ;
37 -> 39 ;
36 [label="36: Call _fun_iterator_operator++ \n _fun_iterator_operator++(&__begin:class iterator &,&__temp_return_n$9:class iterator *) [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
36 [label="36: Call _fun_iterator_operator++ \n _fun_iterator_operator++(&__begin:class iterator &,&__temp_return_n$9:class iterator *) [line 37]\n " shape="box"]
36 -> 33 ;
35 [label="35: DeclStmt \n n$5=*&__range:class vec & [line 37]\n n$6=*n$5:class vec [line 37]\n _fun_vec_begin(n$5:class vec &,&SIL_materialize_temp__n$4:class iterator *) [line 37]\n _fun_iterator_iterator(&__begin:class iterator *,&SIL_materialize_temp__n$4:class iterator &) [line 37]\n REMOVE_TEMPS(n$5,n$6); [line 37]\n " shape="box"]
35 [label="35: DeclStmt \n n$5=*&__range:class vec & [line 37]\n n$6=*n$5:class vec [line 37]\n _fun_vec_begin(n$5:class vec &,&SIL_materialize_temp__n$4:class iterator *) [line 37]\n _fun_iterator_iterator(&__begin:class iterator *,&SIL_materialize_temp__n$4:class iterator &) [line 37]\n " shape="box"]
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); [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 " shape="box"]
34 -> 33 ;
@ -45,14 +45,14 @@ digraph iCFG {
33 -> 37 ;
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]
32 [label="32: Exit test \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 ;
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 [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 " shape="box"]
30 -> 29 ;
@ -63,7 +63,7 @@ digraph iCFG {
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); [line 28]\n NULLIFY(&this); [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 " shape="box"]
27 -> 26 ;
@ -74,19 +74,19 @@ digraph iCFG {
25 -> 27 ;
24 [label="24: Constructor Init \n n$4=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$4.begin_:class iterator *) [line 24]\n REMOVE_TEMPS(n$4); [line 24]\n " shape="box"]
24 [label="24: Constructor Init \n n$4=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$4.begin_:class iterator *) [line 24]\n " shape="box"]
24 -> 23 ;
23 [label="23: Constructor Init \n n$3=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$3.end_:class iterator *) [line 24]\n REMOVE_TEMPS(n$3); [line 24]\n " shape="box"]
23 [label="23: Constructor Init \n n$3=*&this:class vec * [line 24]\n _fun_iterator_iterator(n$3.end_:class iterator *) [line 24]\n " shape="box"]
23 -> 22 ;
22 [label="22: BinaryOperatorStmt: Assign \n n$2=*&this:class vec * [line 25]\n *n$2.begin_.val:int =0 [line 25]\n REMOVE_TEMPS(n$2); [line 25]\n " shape="box"]
22 [label="22: BinaryOperatorStmt: Assign \n n$2=*&this:class vec * [line 25]\n *n$2.begin_.val:int =0 [line 25]\n " shape="box"]
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); [line 26]\n NULLIFY(&this); [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 " shape="box"]
21 -> 20 ;
@ -97,7 +97,7 @@ digraph iCFG {
19 -> 24 ;
18 [label="18: Return Stmt \n n$0=*&i1:class iterator & [line 21]\n n$1=*n$0.val:int [line 21]\n n$2=*&i2:class iterator & [line 21]\n n$3=*n$2.val:int [line 21]\n *&return:_Bool =(n$1 != n$3) [line 21]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 21]\n NULLIFY(&i1); [line 21]\n NULLIFY(&i2); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
18 [label="18: Return Stmt \n n$0=*&i1:class iterator & [line 21]\n n$1=*n$0.val:int [line 21]\n n$2=*&i2:class iterator & [line 21]\n n$3=*n$2.val:int [line 21]\n *&return:_Bool =(n$1 != n$3) [line 21]\n " shape="box"]
18 -> 17 ;
@ -108,7 +108,7 @@ digraph iCFG {
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); [line 11]\n NULLIFY(&this); [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 " shape="box"]
15 -> 14 ;
@ -126,7 +126,7 @@ digraph iCFG {
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); [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 " shape="box"]
10 -> 9 ;
@ -137,15 +137,15 @@ digraph iCFG {
8 -> 10 ;
7 [label="7: BinaryOperatorStmt: AddAssign \n n$2=*&this:class iterator * [line 14]\n n$3=*n$2.val:int [line 14]\n *n$2.val:int =(n$3 + 1) [line 14]\n REMOVE_TEMPS(n$2,n$3); [line 14]\n " shape="box"]
7 [label="7: BinaryOperatorStmt: AddAssign \n n$2=*&this:class iterator * [line 14]\n n$3=*n$2.val:int [line 14]\n *n$2.val:int =(n$3 + 1) [line 14]\n " shape="box"]
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); [line 15]\n NULLIFY(&this); [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 " shape="box"]
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); [line 11]\n NULLIFY(&this); [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 " shape="box"]
5 -> 4 ;

@ -4,23 +4,23 @@ digraph iCFG {
61 -> 56 ;
60 [label="60: DeclStmt \n n$5=*&x:class X [line 64]\n n$6=_fun_X_operator int(&x:class X &) [line 64]\n *&v:int =n$6 [line 64]\n REMOVE_TEMPS(n$5,n$6); [line 64]\n " shape="box"]
60 [label="60: DeclStmt \n n$5=*&x:class X [line 64]\n n$6=_fun_X_operator int(&x:class X &) [line 64]\n *&v:int =n$6 [line 64]\n " shape="box"]
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); [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 " shape="box"]
59 -> 53 ;
58 [label="58: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 63]\n REMOVE_TEMPS(n$3); [line 63]\n " shape="invhouse"]
58 [label="58: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 63]\n " shape="invhouse"]
58 -> 55 ;
57 [label="57: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 63]\n REMOVE_TEMPS(n$3); [line 63]\n " shape="invhouse"]
57 [label="57: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 63]\n " shape="invhouse"]
57 -> 60 ;
56 [label="56: Call _fun_X_operator bool \n n$2=*&x:class X [line 63]\n n$3=_fun_X_operator bool(&x:class X &) [line 63]\n REMOVE_TEMPS(n$2); [line 63]\n " shape="box"]
56 [label="56: Call _fun_X_operator bool \n n$2=*&x:class X [line 63]\n n$3=_fun_X_operator bool(&x:class X &) [line 63]\n " shape="box"]
56 -> 57 ;
@ -29,11 +29,11 @@ digraph iCFG {
55 -> 54 ;
54 [label="54: Return Stmt \n n$0=*&x:class X [line 67]\n n$1=_fun_X_operator int(&x:class X &) [line 67]\n *&return:int =n$1 [line 67]\n REMOVE_TEMPS(n$0,n$1); [line 67]\n APPLY_ABSTRACTION; [line 67]\n " shape="box"]
54 [label="54: Return Stmt \n n$0=*&x:class X [line 67]\n n$1=_fun_X_operator int(&x:class X &) [line 67]\n *&return:int =n$1 [line 67]\n " shape="box"]
54 -> 53 ;
53 [label="53: Exit branch_div1 \n NULLIFY(&x); [line 68]\n " color=yellow style=filled]
53 [label="53: Exit branch_div1 \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]
@ -44,23 +44,23 @@ digraph iCFG {
51 -> 46 ;
50 [label="50: DeclStmt \n n$5=*&x:class X [line 55]\n n$6=_fun_X_operator int(&x:class X &) [line 55]\n *&v:int =n$6 [line 55]\n REMOVE_TEMPS(n$5,n$6); [line 55]\n " shape="box"]
50 [label="50: DeclStmt \n n$5=*&x:class X [line 55]\n n$6=_fun_X_operator int(&x:class X &) [line 55]\n *&v:int =n$6 [line 55]\n " shape="box"]
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); [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 " shape="box"]
49 -> 43 ;
48 [label="48: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 54]\n REMOVE_TEMPS(n$3); [line 54]\n " shape="invhouse"]
48 [label="48: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 54]\n " shape="invhouse"]
48 -> 45 ;
47 [label="47: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 54]\n REMOVE_TEMPS(n$3); [line 54]\n " shape="invhouse"]
47 [label="47: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 54]\n " shape="invhouse"]
47 -> 50 ;
46 [label="46: Call _fun_X_operator bool \n n$2=*&x:class X [line 54]\n n$3=_fun_X_operator bool(&x:class X &) [line 54]\n REMOVE_TEMPS(n$2); [line 54]\n " shape="box"]
46 [label="46: Call _fun_X_operator bool \n n$2=*&x:class X [line 54]\n n$3=_fun_X_operator bool(&x:class X &) [line 54]\n " shape="box"]
46 -> 47 ;
@ -69,11 +69,11 @@ digraph iCFG {
45 -> 44 ;
44 [label="44: Return Stmt \n n$0=*&x:class X [line 58]\n n$1=_fun_X_operator int(&x:class X &) [line 58]\n *&return:int =n$1 [line 58]\n REMOVE_TEMPS(n$0,n$1); [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="box"]
44 [label="44: Return Stmt \n n$0=*&x:class X [line 58]\n n$1=_fun_X_operator int(&x:class X &) [line 58]\n *&return:int =n$1 [line 58]\n " shape="box"]
44 -> 43 ;
43 [label="43: Exit branch_no_div \n NULLIFY(&x); [line 59]\n " color=yellow style=filled]
43 [label="43: Exit branch_no_div \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]
@ -92,23 +92,23 @@ digraph iCFG {
39 -> 34 ;
38 [label="38: DeclStmt \n n$13=*&y:class Y [line 46]\n _fun_Y_operator X(&y:class Y &,&SIL_materialize_temp__n$12:class X *) [line 46]\n _fun_X_X(&__temp_construct_n$11:class X *,&SIL_materialize_temp__n$12:class X &) [line 46]\n n$15=_fun_X_operator int(&__temp_construct_n$11:class X &) [line 46]\n *&v:int =n$15 [line 46]\n REMOVE_TEMPS(n$13,n$15); [line 46]\n " shape="box"]
38 [label="38: DeclStmt \n n$13=*&y:class Y [line 46]\n _fun_Y_operator X(&y:class Y &,&SIL_materialize_temp__n$12:class X *) [line 46]\n _fun_X_X(&__temp_construct_n$11:class X *,&SIL_materialize_temp__n$12:class X &) [line 46]\n n$15=_fun_X_operator int(&__temp_construct_n$11:class X &) [line 46]\n *&v:int =n$15 [line 46]\n " shape="box"]
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); [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 " shape="box"]
37 -> 31 ;
36 [label="36: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 45]\n REMOVE_TEMPS(n$9); [line 45]\n " shape="invhouse"]
36 [label="36: Prune (false branch) \n PRUNE((n$9 == 0), false); [line 45]\n " shape="invhouse"]
36 -> 33 ;
35 [label="35: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 45]\n REMOVE_TEMPS(n$9); [line 45]\n " shape="invhouse"]
35 [label="35: Prune (true branch) \n PRUNE((n$9 != 0), true); [line 45]\n " shape="invhouse"]
35 -> 38 ;
34 [label="34: Call _fun_X_operator bool \n n$7=*&y:class Y [line 45]\n _fun_Y_operator X(&y:class Y &,&SIL_materialize_temp__n$6:class X *) [line 45]\n _fun_X_X(&__temp_construct_n$5:class X *,&SIL_materialize_temp__n$6:class X &) [line 45]\n n$9=_fun_X_operator bool(&__temp_construct_n$5:class X &) [line 45]\n REMOVE_TEMPS(n$7); [line 45]\n " shape="box"]
34 [label="34: Call _fun_X_operator bool \n n$7=*&y:class Y [line 45]\n _fun_Y_operator X(&y:class Y &,&SIL_materialize_temp__n$6:class X *) [line 45]\n _fun_X_X(&__temp_construct_n$5:class X *,&SIL_materialize_temp__n$6:class X &) [line 45]\n n$9=_fun_X_operator bool(&__temp_construct_n$5:class X &) [line 45]\n " shape="box"]
34 -> 35 ;
@ -117,11 +117,11 @@ digraph iCFG {
33 -> 32 ;
32 [label="32: Return Stmt \n n$2=*&y:class Y [line 49]\n _fun_Y_operator X(&y:class Y &,&SIL_materialize_temp__n$1:class X *) [line 49]\n _fun_X_X(&__temp_construct_n$0:class X *,&SIL_materialize_temp__n$1:class X &) [line 49]\n n$4=_fun_X_operator int(&__temp_construct_n$0:class X &) [line 49]\n *&return:int =n$4 [line 49]\n REMOVE_TEMPS(n$2,n$4); [line 49]\n APPLY_ABSTRACTION; [line 49]\n " shape="box"]
32 [label="32: Return Stmt \n n$2=*&y:class Y [line 49]\n _fun_Y_operator X(&y:class Y &,&SIL_materialize_temp__n$1:class X *) [line 49]\n _fun_X_X(&__temp_construct_n$0:class X *,&SIL_materialize_temp__n$1:class X &) [line 49]\n n$4=_fun_X_operator int(&__temp_construct_n$0:class X &) [line 49]\n *&return:int =n$4 [line 49]\n " shape="box"]
32 -> 31 ;
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]
31 [label="31: Exit y_branch_div0 \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]
@ -132,23 +132,23 @@ digraph iCFG {
29 -> 24 ;
28 [label="28: DeclStmt \n n$5=*&x:class X [line 35]\n n$6=_fun_X_operator int(&x:class X &) [line 35]\n *&v:int =n$6 [line 35]\n REMOVE_TEMPS(n$5,n$6); [line 35]\n " shape="box"]
28 [label="28: DeclStmt \n n$5=*&x:class X [line 35]\n n$6=_fun_X_operator int(&x:class X &) [line 35]\n *&v:int =n$6 [line 35]\n " shape="box"]
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); [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 " shape="box"]
27 -> 21 ;
26 [label="26: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 34]\n REMOVE_TEMPS(n$3); [line 34]\n " shape="invhouse"]
26 [label="26: Prune (false branch) \n PRUNE((n$3 == 0), false); [line 34]\n " shape="invhouse"]
26 -> 23 ;
25 [label="25: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 34]\n REMOVE_TEMPS(n$3); [line 34]\n " shape="invhouse"]
25 [label="25: Prune (true branch) \n PRUNE((n$3 != 0), true); [line 34]\n " shape="invhouse"]
25 -> 28 ;
24 [label="24: Call _fun_X_operator bool \n n$2=*&x:class X [line 34]\n n$3=_fun_X_operator bool(&x:class X &) [line 34]\n REMOVE_TEMPS(n$2); [line 34]\n " shape="box"]
24 [label="24: Call _fun_X_operator bool \n n$2=*&x:class X [line 34]\n n$3=_fun_X_operator bool(&x:class X &) [line 34]\n " shape="box"]
24 -> 25 ;
@ -157,11 +157,11 @@ digraph iCFG {
23 -> 22 ;
22 [label="22: Return Stmt \n n$0=*&x:class X [line 38]\n n$1=_fun_X_operator int(&x:class X &) [line 38]\n *&return:int =n$1 [line 38]\n REMOVE_TEMPS(n$0,n$1); [line 38]\n APPLY_ABSTRACTION; [line 38]\n " shape="box"]
22 [label="22: Return Stmt \n n$0=*&x:class X [line 38]\n n$1=_fun_X_operator int(&x:class X &) [line 38]\n *&return:int =n$1 [line 38]\n " shape="box"]
22 -> 21 ;
21 [label="21: Exit branch_div0 \n NULLIFY(&x); [line 39]\n " color=yellow style=filled]
21 [label="21: Exit branch_div0 \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]
@ -175,22 +175,22 @@ digraph iCFG {
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); [line 27]\n NULLIFY(&this); [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 " shape="box"]
17 -> 16 ;
16 [label="16: Exit Y_operator X \n NULLIFY(&SIL_materialize_temp__n$1); [line 27]\n " color=yellow style=filled]
16 [label="16: Exit Y_operator X \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 -> 17 ;
14 [label="14: BinaryOperatorStmt: Assign \n n$3=*&this:class X * [line 20]\n n$4=*&x:class X & [line 20]\n n$5=*n$4.f_:int [line 20]\n *n$3.f_:int =n$5 [line 20]\n REMOVE_TEMPS(n$3,n$4,n$5); [line 20]\n " shape="box"]
14 [label="14: BinaryOperatorStmt: Assign \n n$3=*&this:class X * [line 20]\n n$4=*&x:class X & [line 20]\n n$5=*n$4.f_:int [line 20]\n *n$3.f_:int =n$5 [line 20]\n " shape="box"]
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); [line 21]\n NULLIFY(&x); [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 " shape="box"]
13 -> 12 ;
@ -201,11 +201,11 @@ digraph iCFG {
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); [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 " shape="box"]
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); [line 17]\n NULLIFY(&this); [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 " shape="box"]
9 -> 8 ;
@ -216,7 +216,7 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
@ -227,7 +227,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,14 +1,14 @@
/* @generated */
digraph iCFG {
8 [label="8: Call _fun_A_fun_default \n n$6=*&a_ptr:class A * [line 18]\n n$7=*n$6:class A [line 18]\n n$8=_fun_A_fun_default(n$6:class A *,1:int ,2:int ,3:int ) [line 18]\n REMOVE_TEMPS(n$6,n$7,n$8); [line 18]\n " shape="box"]
8 [label="8: Call _fun_A_fun_default \n n$6=*&a_ptr:class A * [line 18]\n n$7=*n$6:class A [line 18]\n n$8=_fun_A_fun_default(n$6:class A *,1:int ,2:int ,3:int ) [line 18]\n " shape="box"]
8 -> 7 ;
7 [label="7: Call _fun_A_fun_default \n n$3=*&a_ptr:class A * [line 19]\n n$4=*n$3:class A [line 19]\n n$5=_fun_A_fun_default(n$3:class A *,1:int ,2:int ,20:int ) [line 19]\n REMOVE_TEMPS(n$3,n$4,n$5); [line 19]\n " shape="box"]
7 [label="7: Call _fun_A_fun_default \n n$3=*&a_ptr:class A * [line 19]\n n$4=*n$3:class A [line 19]\n n$5=_fun_A_fun_default(n$3:class A *,1:int ,2:int ,20:int ) [line 19]\n " shape="box"]
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); [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 " shape="box"]
6 -> 5 ;
@ -19,7 +19,7 @@ digraph iCFG {
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); [line 13]\n NULLIFY(&b); [line 13]\n NULLIFY(&c); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
10 -> 9 ;
@ -11,11 +11,11 @@ digraph iCFG {
8 -> 10 ;
7 [label="7: Call _fun_A_init \n n$2=*&this:class A * [line 19]\n n$3=*n$2:class A [line 19]\n _fun_A_init(n$2:class A *,10:int ) [line 19]\n REMOVE_TEMPS(n$2,n$3); [line 19]\n " shape="box"]
7 [label="7: Call _fun_A_init \n n$2=*&this:class A * [line 19]\n n$3=*n$2:class A [line 19]\n _fun_A_init(n$2:class A *,10:int ) [line 19]\n " shape="box"]
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); [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 " shape="box"]
6 -> 5 ;
@ -26,7 +26,7 @@ digraph iCFG {
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); [line 14]\n NULLIFY(&val); [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 " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
11 [label="11: Call _fun_A_fun \n n$4=*&a_ptr:class A * [line 24]\n n$5=*n$4:class A [line 24]\n n$6=_fun_A_fun(n$4:class A *) [line 24]\n REMOVE_TEMPS(n$4,n$5,n$6); [line 24]\n " shape="box"]
11 [label="11: Call _fun_A_fun \n n$4=*&a_ptr:class A * [line 24]\n n$5=*n$4:class A [line 24]\n n$6=_fun_A_fun(n$4:class A *) [line 24]\n " shape="box"]
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); [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 " shape="box"]
10 -> 9 ;
@ -19,7 +19,7 @@ digraph iCFG {
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); [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 " shape="box"]
6 -> 5 ;
@ -30,7 +30,7 @@ digraph iCFG {
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =1 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =1 [line 12]\n " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
10 [label="10: Call _fun_A_fun \n n$3=*&a_ptr:class A * [line 22]\n n$4=*n$3:class A [line 22]\n n$5=_fun_A_fun(n$3:class A *,1:int ,2:int ) [line 22]\n REMOVE_TEMPS(n$3,n$4,n$5); [line 22]\n " shape="box"]
10 [label="10: Call _fun_A_fun \n n$3=*&a_ptr:class A * [line 22]\n n$4=*n$3:class A [line 22]\n n$5=_fun_A_fun(n$3:class A *,1:int ,2:int ) [line 22]\n " shape="box"]
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); [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 " shape="box"]
9 -> 8 ;
@ -15,7 +15,7 @@ digraph iCFG {
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); [line 17]\n NULLIFY(&b); [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 " shape="box"]
6 -> 5 ;
@ -26,7 +26,7 @@ digraph iCFG {
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); [line 15]\n NULLIFY(&b); [line 15]\n NULLIFY(&c); [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 " shape="box"]
3 -> 2 ;

@ -1,14 +1,14 @@
/* @generated */
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); [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 " shape="box"]
13 -> 12 ;
12 [label="12: Return Stmt \n n$0=*&x.f:int [line 23]\n *&return:int =(1 / n$0) [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
12 [label="12: Return Stmt \n n$0=*&x.f:int [line 23]\n *&return:int =(1 / n$0) [line 23]\n " shape="box"]
12 -> 11 ;
11 [label="11: Exit test \n NULLIFY(&x); [line 24]\n NULLIFY(&SIL_materialize_temp__n$1); [line 24]\n " color=yellow style=filled]
11 [label="11: Exit test \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]
@ -19,18 +19,18 @@ digraph iCFG {
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); [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 " shape="box"]
8 -> 7 ;
7 [label="7: Exit A_get \n NULLIFY(&x); [line 18]\n " color=yellow style=filled]
7 [label="7: Exit A_get \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 ;
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 [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 " shape="box"]
5 -> 4 ;

@ -1,6 +1,6 @@
/* @generated */
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); [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 " shape="box"]
9 -> 8 ;
@ -11,7 +11,7 @@ digraph iCFG {
7 -> 9 ;
6 [label="6: Call _fun_A_fun \n n$0=_fun_A_fun(0:int ) [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
6 [label="6: Call _fun_A_fun \n n$0=_fun_A_fun(0:int ) [line 17]\n " shape="box"]
6 -> 5 ;
@ -22,7 +22,7 @@ digraph iCFG {
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); [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 " shape="box"]
3 -> 2 ;

@ -1,10 +1,10 @@
/* @generated */
digraph iCFG {
53 [label="53: DeclStmt \n n$2=_fun___new(sizeof(class Triangle ):unsigned long ) [line 71]\n _fun_Triangle_Triangle(n$2:class Triangle *) [line 71]\n *&trgl:class Triangle *=n$2 [line 71]\n REMOVE_TEMPS(n$2); [line 71]\n " shape="box"]
53 [label="53: DeclStmt \n n$2=_fun___new(sizeof(class Triangle ):unsigned long ) [line 71]\n _fun_Triangle_Triangle(n$2:class Triangle *) [line 71]\n *&trgl:class Triangle *=n$2 [line 71]\n " shape="box"]
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); [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 " shape="box"]
52 -> 51 ;
@ -27,15 +27,15 @@ digraph iCFG {
47 -> 46 ;
46 [label="46: Call _fun_Polygon_set_values \n n$3=*&ppoly2:class Polygon * [line 63]\n n$4=*n$3:class Polygon [line 63]\n _fun_Polygon_set_values(n$3:class Polygon *,4:int ,5:int ) [line 63]\n REMOVE_TEMPS(n$3,n$4); [line 63]\n " shape="box"]
46 [label="46: Call _fun_Polygon_set_values \n n$3=*&ppoly2:class Polygon * [line 63]\n n$4=*n$3:class Polygon [line 63]\n _fun_Polygon_set_values(n$3:class Polygon *,4:int ,5:int ) [line 63]\n " shape="box"]
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); [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 " shape="box"]
45 -> 44 ;
44 [label="44: Exit tri_not_virtual_area \n NULLIFY(&trgl); [line 65]\n NULLIFY(&poly); [line 65]\n " color=yellow style=filled]
44 [label="44: Exit tri_not_virtual_area \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]
@ -50,11 +50,11 @@ digraph iCFG {
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); [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 " shape="box"]
40 -> 39 ;
39 [label="39: Exit poly_area \n NULLIFY(&poly); [line 57]\n " color=yellow style=filled]
39 [label="39: Exit poly_area \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]
@ -73,15 +73,15 @@ digraph iCFG {
35 -> 34 ;
34 [label="34: Call _fun_Polygon_set_values \n n$3=*&ppoly2:class Polygon * [line 49]\n n$4=*n$3:class Polygon [line 49]\n _fun_Polygon_set_values(n$3:class Polygon *,4:int ,5:int ) [line 49]\n REMOVE_TEMPS(n$3,n$4); [line 49]\n " shape="box"]
34 [label="34: Call _fun_Polygon_set_values \n n$3=*&ppoly2:class Polygon * [line 49]\n n$4=*n$3:class Polygon [line 49]\n _fun_Polygon_set_values(n$3:class Polygon *,4:int ,5:int ) [line 49]\n " shape="box"]
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); [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 " shape="box"]
33 -> 32 ;
32 [label="32: Exit tri_area \n NULLIFY(&trgl); [line 51]\n NULLIFY(&poly); [line 51]\n " color=yellow style=filled]
32 [label="32: Exit tri_area \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]
@ -96,22 +96,22 @@ digraph iCFG {
29 -> 28 ;
28 [label="28: Call _fun_Polygon_set_values \n n$3=*&ppoly1:class Polygon * [line 41]\n n$4=*n$3:class Polygon [line 41]\n _fun_Polygon_set_values(n$3:class Polygon *,4:int ,5:int ) [line 41]\n REMOVE_TEMPS(n$3,n$4); [line 41]\n " shape="box"]
28 [label="28: Call _fun_Polygon_set_values \n n$3=*&ppoly1:class Polygon * [line 41]\n n$4=*n$3:class Polygon [line 41]\n _fun_Polygon_set_values(n$3:class Polygon *,4:int ,5:int ) [line 41]\n " shape="box"]
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); [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 " shape="box"]
27 -> 26 ;
26 [label="26: Exit rect_area \n NULLIFY(&rect); [line 43]\n " color=yellow style=filled]
26 [label="26: Exit rect_area \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 ;
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 [label="24: Constructor Init \n n$0=*&this:class Triangle * [line 29]\n _fun_Polygon_Polygon(n$0:class Triangle *) [line 29]\n " shape="box"]
24 -> 23 ;
@ -122,11 +122,11 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
20 -> 19 ;
@ -144,7 +144,7 @@ digraph iCFG {
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); [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 " shape="box"]
15 -> 14 ;
@ -155,7 +155,7 @@ digraph iCFG {
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); [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 " shape="box"]
12 -> 11 ;
@ -173,7 +173,7 @@ digraph iCFG {
8 -> 9 ;
7 [label="7: Return Stmt \n *&return:int =0 [line 20]\n APPLY_ABSTRACTION; [line 20]\n " shape="box"]
7 [label="7: Return Stmt \n *&return:int =0 [line 20]\n " shape="box"]
7 -> 6 ;
@ -184,11 +184,11 @@ digraph iCFG {
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); [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 " shape="box"]
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); [line 18]\n NULLIFY(&this); [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 " shape="box"]
3 -> 2 ;

@ -1,6 +1,6 @@
/* @generated */
digraph iCFG {
15 [label="15: Return Stmt \n n$0=_fun_f1::get() [line 24]\n n$1=_fun_f2::get() [line 24]\n *&return:int =(1 / (n$0 + n$1)) [line 24]\n REMOVE_TEMPS(n$0,n$1); [line 24]\n APPLY_ABSTRACTION; [line 24]\n " shape="box"]
15 [label="15: Return Stmt \n n$0=_fun_f1::get() [line 24]\n n$1=_fun_f2::get() [line 24]\n *&return:int =(1 / (n$0 + n$1)) [line 24]\n " shape="box"]
15 -> 14 ;
@ -11,7 +11,7 @@ digraph iCFG {
13 -> 15 ;
12 [label="12: Return Stmt \n n$0=_fun_f1::get0() [line 21]\n *&return:int =(1 / n$0) [line 21]\n REMOVE_TEMPS(n$0); [line 21]\n APPLY_ABSTRACTION; [line 21]\n " shape="box"]
12 [label="12: Return Stmt \n n$0=_fun_f1::get0() [line 21]\n *&return:int =(1 / n$0) [line 21]\n " shape="box"]
12 -> 11 ;
@ -22,7 +22,7 @@ digraph iCFG {
10 -> 12 ;
9 [label="9: Return Stmt \n *&return:int =-1 [line 16]\n APPLY_ABSTRACTION; [line 16]\n " shape="box"]
9 [label="9: Return Stmt \n *&return:int =-1 [line 16]\n " shape="box"]
9 -> 8 ;
@ -33,7 +33,7 @@ digraph iCFG {
7 -> 9 ;
6 [label="6: Return Stmt \n *&return:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
6 [label="6: Return Stmt \n *&return:int =0 [line 12]\n " shape="box"]
6 -> 5 ;
@ -44,7 +44,7 @@ digraph iCFG {
4 -> 6 ;
3 [label="3: Return Stmt \n *&return:int =1 [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =1 [line 11]\n " shape="box"]
3 -> 2 ;

@ -8,7 +8,7 @@ digraph iCFG {
14 -> 13 ;
13 [label="13: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 43]\n n$1=*&#GB$B::v:int [line 43]\n *&return:int =(1 / ((n$0 + n$1) + 1)) [line 43]\n REMOVE_TEMPS(n$0,n$1); [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
13 [label="13: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 43]\n n$1=*&#GB$B::v:int [line 43]\n *&return:int =(1 / ((n$0 + n$1) + 1)) [line 43]\n " shape="box"]
13 -> 12 ;
@ -27,7 +27,7 @@ digraph iCFG {
9 -> 8 ;
8 [label="8: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 37]\n n$1=*&#GB$B::v:int [line 37]\n *&return:int =(1 / ((n$0 + n$1) + 1)) [line 37]\n REMOVE_TEMPS(n$0,n$1); [line 37]\n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
8 [label="8: Return Stmt \n n$0=*&#GB$f1::A::v:int [line 37]\n n$1=*&#GB$B::v:int [line 37]\n *&return:int =(1 / ((n$0 + n$1) + 1)) [line 37]\n " shape="box"]
8 -> 7 ;
@ -46,7 +46,7 @@ digraph iCFG {
4 -> 3 ;
3 [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 31]\n n$1=*&#GB$f2::val:int [line 31]\n *&return:int =(1 / ((n$0 + n$1) + 1)) [line 31]\n REMOVE_TEMPS(n$0,n$1); [line 31]\n APPLY_ABSTRACTION; [line 31]\n " shape="box"]
3 [label="3: Return Stmt \n n$0=*&#GB$f1::val:int [line 31]\n n$1=*&#GB$f2::val:int [line 31]\n *&return:int =(1 / ((n$0 + n$1) + 1)) [line 31]\n " shape="box"]
3 -> 2 ;

@ -8,7 +8,7 @@ digraph iCFG {
23 -> 22 ;
22 [label="22: Call _fun_bar::Rectangle_set_values \n n$4=*&rect1:class bar::Rectangle [line 49]\n _fun_bar::Rectangle_set_values(&rect1:class bar::Rectangle &,3:int ,4:int ) [line 49]\n REMOVE_TEMPS(n$4); [line 49]\n " shape="box"]
22 [label="22: Call _fun_bar::Rectangle_set_values \n n$4=*&rect1:class bar::Rectangle [line 49]\n _fun_bar::Rectangle_set_values(&rect1:class bar::Rectangle &,3:int ,4:int ) [line 49]\n " shape="box"]
22 -> 21 ;
@ -16,7 +16,7 @@ digraph iCFG {
21 -> 20 ;
20 [label="20: Call _fun_foo::Rectangle_set_values \n n$3=*&rect2:class foo::Rectangle [line 52]\n _fun_foo::Rectangle_set_values(&rect2:class foo::Rectangle &,7:int ,10:int ) [line 52]\n REMOVE_TEMPS(n$3); [line 52]\n " shape="box"]
20 [label="20: Call _fun_foo::Rectangle_set_values \n n$3=*&rect2:class foo::Rectangle [line 52]\n _fun_foo::Rectangle_set_values(&rect2:class foo::Rectangle &,7:int ,10:int ) [line 52]\n " shape="box"]
20 -> 19 ;
@ -24,23 +24,23 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
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); [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 " shape="box"]
16 -> 15 ;
15 [label="15: Return Stmt \n *&return:int =0 [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="box"]
15 [label="15: Return Stmt \n *&return:int =0 [line 58]\n " shape="box"]
15 -> 14 ;
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]
14 [label="14: Exit main \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]
@ -54,7 +54,7 @@ digraph iCFG {
11 -> 12 ;
10 [label="10: Return Stmt \n n$0=*&#GB$bar::pi:double [line 30]\n *&return:double =(2 * n$0) [line 30]\n REMOVE_TEMPS(n$0); [line 30]\n APPLY_ABSTRACTION; [line 30]\n " shape="box"]
10 [label="10: Return Stmt \n n$0=*&#GB$bar::pi:double [line 30]\n *&return:double =(2 * n$0) [line 30]\n " shape="box"]
10 -> 9 ;
@ -72,7 +72,7 @@ digraph iCFG {
6 -> 7 ;
5 [label="5: Return Stmt \n *&return:int =5 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
5 [label="5: Return Stmt \n *&return:int =5 [line 17]\n " shape="box"]
5 -> 4 ;

@ -4,28 +4,28 @@ digraph iCFG {
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); [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 " shape="box"]
19 -> 15 ;
18 [label="18: DeclStmt \n n$2=*&i:int [line 19]\n *&x:int =n$2 [line 19]\n REMOVE_TEMPS(n$2); [line 19]\n " shape="box"]
18 [label="18: DeclStmt \n n$2=*&i:int [line 19]\n *&x:int =n$2 [line 19]\n " shape="box"]
18 -> 16 ;
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); [line 19]\n NULLIFY(&result); [line 19]\n NULLIFY(&x); [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 " shape="invhouse"]
17 -> 12 ;
16 [label="16: Prune (true branch) \n n$1=*&x:int [line 19]\n PRUNE((n$1 != 0), true); [line 19]\n REMOVE_TEMPS(n$1); [line 19]\n " shape="invhouse"]
16 [label="16: Prune (true branch) \n n$1=*&x:int [line 19]\n PRUNE((n$1 != 0), true); [line 19]\n " shape="invhouse"]
16 -> 19 ;
15 [label="15: UnaryOperator \n n$0=*&i:int [line 19]\n *&i:int =(n$0 - 1) [line 19]\n REMOVE_TEMPS(n$0); [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
15 [label="15: UnaryOperator \n n$0=*&i:int [line 19]\n *&i:int =(n$0 - 1) [line 19]\n " shape="box"]
15 -> 13 ;
14 [label="14: DeclStmt \n *&i:int =10 [line 19]\n APPLY_ABSTRACTION; [line 19]\n " shape="box"]
14 [label="14: DeclStmt \n *&i:int =10 [line 19]\n " shape="box"]
14 -> 13 ;
@ -44,7 +44,7 @@ digraph iCFG {
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); [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 " shape="box"]
9 -> 5 ;
@ -53,19 +53,19 @@ digraph iCFG {
8 -> 6 ;
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); [line 12]\n NULLIFY(&result); [line 12]\n NULLIFY(&x); [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 " shape="invhouse"]
7 -> 2 ;
6 [label="6: Prune (true branch) \n n$1=*&x:int [line 12]\n PRUNE((n$1 != 0), true); [line 12]\n REMOVE_TEMPS(n$1); [line 12]\n " shape="invhouse"]
6 [label="6: Prune (true branch) \n n$1=*&x:int [line 12]\n PRUNE((n$1 != 0), true); [line 12]\n " shape="invhouse"]
6 -> 9 ;
5 [label="5: UnaryOperator \n n$0=*&i:int [line 12]\n *&i:int =(n$0 + 1) [line 12]\n REMOVE_TEMPS(n$0); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
5 [label="5: UnaryOperator \n n$0=*&i:int [line 12]\n *&i:int =(n$0 + 1) [line 12]\n " shape="box"]
5 -> 3 ;
4 [label="4: DeclStmt \n *&i:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
4 [label="4: DeclStmt \n *&i:int =0 [line 12]\n " shape="box"]
4 -> 3 ;

@ -1,10 +1,10 @@
/* @generated */
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); [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 " shape="box"]
73 -> 66 ;
72 [label="72: Return Stmt \n *&return:int =1 [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="box"]
72 [label="72: Return Stmt \n *&return:int =1 [line 58]\n " shape="box"]
72 -> 66 ;
@ -13,15 +13,15 @@ digraph iCFG {
71 -> 69 ;
71 -> 70 ;
70 [label="70: Prune (false branch) \n n$0=*&p:int * [line 57]\n PRUNE((n$0 == 0), false); [line 57]\n REMOVE_TEMPS(n$0); [line 57]\n " shape="invhouse"]
70 [label="70: Prune (false branch) \n n$0=*&p:int * [line 57]\n PRUNE((n$0 == 0), false); [line 57]\n " shape="invhouse"]
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); [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 " shape="invhouse"]
69 -> 72 ;
68 [label="68: between_join_and_exit \n APPLY_ABSTRACTION; [line 57]\n " shape="box"]
68 [label="68: between_join_and_exit \n " shape="box"]
68 -> 66 ;
@ -40,7 +40,7 @@ digraph iCFG {
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); [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 " shape="box"]
63 -> 59 ;
@ -49,11 +49,11 @@ digraph iCFG {
62 -> 60 ;
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); [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 " shape="invhouse"]
61 -> 59 ;
60 [label="60: Prune (true branch) \n n$1=*&a:int & [line 50]\n n$2=*n$1:int [line 50]\n PRUNE((n$2 != 0), true); [line 50]\n REMOVE_TEMPS(n$1,n$2); [line 50]\n " shape="invhouse"]
60 [label="60: Prune (true branch) \n n$1=*&a:int & [line 50]\n n$2=*n$1:int [line 50]\n PRUNE((n$2 != 0), true); [line 50]\n " shape="invhouse"]
60 -> 63 ;
@ -61,31 +61,31 @@ digraph iCFG {
59 -> 58 ;
58 [label="58: Return Stmt \n n$0=*&r:int [line 53]\n *&return:int =(1 / n$0) [line 53]\n REMOVE_TEMPS(n$0); [line 53]\n APPLY_ABSTRACTION; [line 53]\n " shape="box"]
58 [label="58: Return Stmt \n n$0=*&r:int [line 53]\n *&return:int =(1 / n$0) [line 53]\n " shape="box"]
58 -> 57 ;
57 [label="57: Exit reference_init_div0 \n NULLIFY(&r); [line 54]\n " color=yellow style=filled]
57 [label="57: Exit reference_init_div0 \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 ;
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 [label="55: Return Stmt \n n$3=*&a:int [line 44]\n *&return:int =(1 / (n$3 - 1)) [line 44]\n " shape="box"]
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); [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 " shape="box"]
54 -> 47 ;
54 -> 48 ;
53 [label="53: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
53 [label="53: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 43]\n " shape="box"]
53 -> 49 ;
52 [label="52: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 43]\n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
52 [label="52: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =1 [line 43]\n " shape="box"]
52 -> 49 ;
@ -101,15 +101,15 @@ digraph iCFG {
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); [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 " shape="invhouse"]
48 -> 45 ;
47 [label="47: Prune (true branch) \n n$0=*&a:int [line 43]\n PRUNE((n$0 != 0), true); [line 43]\n REMOVE_TEMPS(n$0); [line 43]\n " shape="invhouse"]
47 [label="47: Prune (true branch) \n n$0=*&a:int [line 43]\n PRUNE((n$0 != 0), true); [line 43]\n " shape="invhouse"]
47 -> 55 ;
46 [label="46: between_join_and_exit \n APPLY_ABSTRACTION; [line 43]\n " shape="box"]
46 [label="46: between_join_and_exit \n " shape="box"]
46 -> 44 ;
@ -125,24 +125,24 @@ digraph iCFG {
43 -> 50 ;
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); [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 " shape="box"]
42 -> 36 ;
41 [label="41: DeclStmt \n n$1=_fun_get1() [line 37]\n *&a:int =n$1 [line 37]\n REMOVE_TEMPS(n$1); [line 37]\n " shape="box"]
41 [label="41: DeclStmt \n n$1=_fun_get1() [line 37]\n *&a:int =n$1 [line 37]\n " shape="box"]
41 -> 39 ;
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); [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 " shape="invhouse"]
40 -> 37 ;
39 [label="39: Prune (true branch) \n n$0=*&a:int [line 37]\n PRUNE((n$0 != 0), true); [line 37]\n REMOVE_TEMPS(n$0); [line 37]\n " shape="invhouse"]
39 [label="39: Prune (true branch) \n n$0=*&a:int [line 37]\n PRUNE((n$0 != 0), true); [line 37]\n " shape="invhouse"]
39 -> 42 ;
38 [label="38: between_join_and_exit \n APPLY_ABSTRACTION; [line 37]\n " shape="box"]
38 [label="38: between_join_and_exit \n " shape="box"]
38 -> 36 ;
@ -157,7 +157,7 @@ digraph iCFG {
35 -> 41 ;
34 [label="34: Return Stmt \n *&return:int =1 [line 34]\n APPLY_ABSTRACTION; [line 34]\n " shape="box"]
34 [label="34: Return Stmt \n *&return:int =1 [line 34]\n " shape="box"]
34 -> 33 ;
@ -168,11 +168,11 @@ digraph iCFG {
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); [line 30]\n NULLIFY(&b); [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 " shape="box"]
31 -> 19 ;
30 [label="30: Return Stmt \n *&return:int =1 [line 28]\n APPLY_ABSTRACTION; [line 28]\n " shape="box"]
30 [label="30: Return Stmt \n *&return:int =1 [line 28]\n " shape="box"]
30 -> 19 ;
@ -181,11 +181,11 @@ digraph iCFG {
29 -> 27 ;
29 -> 28 ;
28 [label="28: Prune (false branch) \n n$1=*&b:int [line 27]\n PRUNE((n$1 == 0), false); [line 27]\n REMOVE_TEMPS(n$1); [line 27]\n " shape="invhouse"]
28 [label="28: Prune (false branch) \n n$1=*&b:int [line 27]\n PRUNE((n$1 == 0), false); [line 27]\n " shape="invhouse"]
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); [line 27]\n NULLIFY(&b); [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 " shape="invhouse"]
27 -> 30 ;
@ -193,7 +193,7 @@ digraph iCFG {
26 -> 20 ;
25 [label="25: Return Stmt \n *&return:int =1 [line 26]\n APPLY_ABSTRACTION; [line 26]\n " shape="box"]
25 [label="25: Return Stmt \n *&return:int =1 [line 26]\n " shape="box"]
25 -> 19 ;
@ -202,15 +202,15 @@ digraph iCFG {
24 -> 22 ;
24 -> 23 ;
23 [label="23: Prune (false branch) \n n$0=*&a:int [line 25]\n PRUNE((n$0 == 0), false); [line 25]\n REMOVE_TEMPS(n$0); [line 25]\n " shape="invhouse"]
23 [label="23: Prune (false branch) \n n$0=*&a:int [line 25]\n PRUNE((n$0 == 0), false); [line 25]\n " shape="invhouse"]
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); [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 " shape="invhouse"]
22 -> 25 ;
21 [label="21: between_join_and_exit \n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
21 [label="21: between_join_and_exit \n " shape="box"]
21 -> 19 ;
@ -225,11 +225,11 @@ digraph iCFG {
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); [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 " shape="box"]
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); [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 " shape="box"]
16 -> 10 ;
@ -238,15 +238,15 @@ digraph iCFG {
15 -> 13 ;
15 -> 14 ;
14 [label="14: Prune (false branch) \n n$0=*&a:int [line 17]\n PRUNE((n$0 == 0), false); [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n " shape="invhouse"]
14 [label="14: Prune (false branch) \n n$0=*&a:int [line 17]\n PRUNE((n$0 == 0), false); [line 17]\n " shape="invhouse"]
14 -> 17 ;
13 [label="13: Prune (true branch) \n n$0=*&a:int [line 17]\n PRUNE((n$0 != 0), true); [line 17]\n REMOVE_TEMPS(n$0); [line 17]\n " shape="invhouse"]
13 [label="13: Prune (true branch) \n n$0=*&a:int [line 17]\n PRUNE((n$0 != 0), true); [line 17]\n " shape="invhouse"]
13 -> 16 ;
12 [label="12: between_join_and_exit \n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
12 [label="12: between_join_and_exit \n " shape="box"]
12 -> 10 ;
@ -261,7 +261,7 @@ digraph iCFG {
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); [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 " shape="box"]
8 -> 2 ;
@ -270,15 +270,15 @@ digraph iCFG {
7 -> 5 ;
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); [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 " shape="invhouse"]
6 -> 3 ;
5 [label="5: Prune (true branch) \n n$0=*&a:int [line 11]\n PRUNE((n$0 != 0), true); [line 11]\n REMOVE_TEMPS(n$0); [line 11]\n " shape="invhouse"]
5 [label="5: Prune (true branch) \n n$0=*&a:int [line 11]\n PRUNE((n$0 != 0), true); [line 11]\n " shape="invhouse"]
5 -> 8 ;
4 [label="4: between_join_and_exit \n APPLY_ABSTRACTION; [line 11]\n " shape="box"]
4 [label="4: between_join_and_exit \n " shape="box"]
4 -> 2 ;

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

@ -4,36 +4,36 @@ digraph iCFG {
28 -> 27 ;
27 [label="27: DeclStmt \n *&result:int =0 [line 22]\n APPLY_ABSTRACTION; [line 22]\n " shape="box"]
27 [label="27: DeclStmt \n *&result:int =0 [line 22]\n " shape="box"]
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); [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 " shape="box"]
26 -> 25 ;
25 [label="25: BinaryOperatorStmt: SubAssign \n n$5=*&x:int [line 25]\n *&x:int =(n$5 - 1) [line 25]\n REMOVE_TEMPS(n$5); [line 25]\n APPLY_ABSTRACTION; [line 25]\n " shape="box"]
25 [label="25: BinaryOperatorStmt: SubAssign \n n$5=*&x:int [line 25]\n *&x:int =(n$5 - 1) [line 25]\n " shape="box"]
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); [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 " shape="box"]
24 -> 16 ;
24 -> 17 ;
23 [label="23: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
23 [label="23: ConditinalStmt Branch \n *&SIL_temp_conditional___n$1:int =0 [line 23]\n " shape="box"]
23 -> 18 ;
22 [label="22: ConditinalStmt Branch \n n$3=*&x:int [line 23]\n *&SIL_temp_conditional___n$1:int =n$3 [line 23]\n REMOVE_TEMPS(n$3); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"]
22 [label="22: ConditinalStmt Branch \n n$3=*&x:int [line 23]\n *&SIL_temp_conditional___n$1:int =n$3 [line 23]\n " shape="box"]
22 -> 18 ;
21 [label="21: Prune (false branch) \n PRUNE(((n$2 > 0) == 0), false); [line 23]\n REMOVE_TEMPS(n$2); [line 23]\n " shape="invhouse"]
21 [label="21: Prune (false branch) \n PRUNE(((n$2 > 0) == 0), false); [line 23]\n " shape="invhouse"]
21 -> 23 ;
20 [label="20: Prune (true branch) \n PRUNE(((n$2 > 0) != 0), true); [line 23]\n REMOVE_TEMPS(n$2); [line 23]\n " shape="invhouse"]
20 [label="20: Prune (true branch) \n PRUNE(((n$2 > 0) != 0), true); [line 23]\n " shape="invhouse"]
20 -> 22 ;
@ -46,11 +46,11 @@ digraph iCFG {
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); [line 23]\n NULLIFY(&result); [line 23]\n NULLIFY(&x); [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 " shape="invhouse"]
17 -> 14 ;
16 [label="16: Prune (true branch) \n n$0=*&a:int [line 23]\n PRUNE((n$0 != 0), true); [line 23]\n REMOVE_TEMPS(n$0); [line 23]\n " shape="invhouse"]
16 [label="16: Prune (true branch) \n n$0=*&a:int [line 23]\n PRUNE((n$0 != 0), true); [line 23]\n " shape="invhouse"]
16 -> 26 ;
@ -58,7 +58,7 @@ digraph iCFG {
15 -> 19 ;
14 [label="14: Return Stmt \n *&return:int =0 [line 27]\n APPLY_ABSTRACTION; [line 27]\n " shape="box"]
14 [label="14: Return Stmt \n *&return:int =0 [line 27]\n " shape="box"]
14 -> 13 ;
@ -73,28 +73,28 @@ digraph iCFG {
11 -> 10 ;
10 [label="10: DeclStmt \n *&result:int =0 [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"]
10 [label="10: DeclStmt \n *&result:int =0 [line 12]\n " shape="box"]
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); [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 " shape="box"]
9 -> 8 ;
8 [label="8: BinaryOperatorStmt: SubAssign \n n$2=*&x:int [line 15]\n *&x:int =(n$2 - 1) [line 15]\n REMOVE_TEMPS(n$2); [line 15]\n APPLY_ABSTRACTION; [line 15]\n " shape="box"]
8 [label="8: BinaryOperatorStmt: SubAssign \n n$2=*&x:int [line 15]\n *&x:int =(n$2 - 1) [line 15]\n " shape="box"]
8 -> 4 ;
7 [label="7: DeclStmt \n n$1=*&x:int [line 13]\n *&a:int =n$1 [line 13]\n REMOVE_TEMPS(n$1); [line 13]\n " shape="box"]
7 [label="7: DeclStmt \n n$1=*&x:int [line 13]\n *&a:int =n$1 [line 13]\n " shape="box"]
7 -> 5 ;
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); [line 13]\n NULLIFY(&result); [line 13]\n NULLIFY(&x); [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 " shape="invhouse"]
6 -> 3 ;
5 [label="5: Prune (true branch) \n n$0=*&a:int [line 13]\n PRUNE((n$0 != 0), true); [line 13]\n REMOVE_TEMPS(n$0); [line 13]\n " shape="invhouse"]
5 [label="5: Prune (true branch) \n n$0=*&a:int [line 13]\n PRUNE((n$0 != 0), true); [line 13]\n " shape="invhouse"]
5 -> 9 ;
@ -102,7 +102,7 @@ digraph iCFG {
4 -> 7 ;
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n APPLY_ABSTRACTION; [line 17]\n " shape="box"]
3 [label="3: Return Stmt \n *&return:int =0 [line 17]\n " shape="box"]
3 -> 2 ;

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

Loading…
Cancel
Save