@ -1,38 +1,76 @@
digraph iCFG {
digraph iCFG {
31 [label="31: BinaryOperatorStmt: Assign \n n$3=*&s:class Sub * [line 56]\n *n$3.b1:int =1 [line 56]\n REMOVE_TEMPS(n$3); [line 56]\n " shape="box"]
41 [label="41: BinaryOperatorStmt: Assign \n n$3=*&s:class Sub * [line 67]\n *n$3.b1:int =1 [line 67]\n REMOVE_TEMPS(n$3); [line 67]\n " shape="box"]
41 -> 40 ;
40 [label="40: DeclStmt \n n$2=*&s:class Sub * [line 68]\n *&b:struct Base1 *=n$2 [line 68]\n REMOVE_TEMPS(n$2); [line 68]\n NULLIFY(&s,false); [line 68]\n " shape="box"]
40 -> 39 ;
39 [label="39: Return Stmt \n n$0=*&b:struct Base1 * [line 69]\n n$1=*n$0.b1:int [line 69]\n *&return:int =(1 / n$1) [line 69]\n REMOVE_TEMPS(n$0,n$1); [line 69]\n NULLIFY(&b,false); [line 69]\n APPLY_ABSTRACTION; [line 69]\n " shape="box"]
39 -> 38 ;
38 [label="38: Exit div1_cast \n " color=yellow style=filled]
37 [label="37: Start div1_cast\nFormals: s:class Sub *\nLocals: b:struct Base1 * \n DECLARE_LOCALS(&return,&b); [line 66]\n NULLIFY(&b,false); [line 66]\n " color=yellow style=filled]
37 -> 41 ;
36 [label="36: BinaryOperatorStmt: Assign \n *&s.b1:int =1 [line 62]\n " shape="box"]
36 -> 35 ;
35 [label="35: Return Stmt \n n$0=*&s.b1:int [line 63]\n *&return:int =(1 / n$0) [line 63]\n REMOVE_TEMPS(n$0); [line 63]\n NULLIFY(&s,false); [line 63]\n APPLY_ABSTRACTION; [line 63]\n " shape="box"]
35 -> 34 ;
34 [label="34: Exit div1_b1 \n " color=yellow style=filled]
33 [label="33: Start div1_b1\nFormals: s:class Sub \nLocals: \n DECLARE_LOCALS(&return); [line 61]\n " color=yellow style=filled]
33 -> 36 ;
32 [label="32: BinaryOperatorStmt: Assign \n n$5=*&s:class Sub * [line 56]\n *n$5.b1:int =1 [line 56]\n REMOVE_TEMPS(n$5); [line 56]\n " shape="box"]
32 -> 31 ;
31 [label="31: BinaryOperatorStmt: Assign \n n$4=*&s:class Sub * [line 57]\n *n$4.s:int =1 [line 57]\n REMOVE_TEMPS(n$4); [line 57]\n " shape="box"]
31 -> 30 ;
31 -> 30 ;
30 [label="30: DeclStmt \n n$2=*&s:class Sub * [line 57]\n *&b:struct Base1 *=n$2 [line 57]\n REMOVE_TEMPS(n$2); [line 57]\n NULLIFY(&s,false); [line 57]\n " shape="box"]
30 [label="30: Return Stmt \n n$0=*&s:class Sub * [line 58]\n n$1=*n$0.b1:int [line 58]\n n$2=*&s:class Sub * [line 58]\n n$3=*n$2.s:int [line 58]\n *&return:int =(1 / (n$1 - n$3)) [line 58]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3); [line 58]\n NULLIFY(&s,false); [line 58]\n APPLY_ABSTRACTION; [line 58 ]\n " shape="box"]
30 -> 29 ;
30 -> 29 ;
29 [label="29: Return Stmt \n n$0=*&b:struct Base1 * [line 58]\n n$1=*n$0.b1:int [line 58]\n *&return:int =(1 / n$1) [line 58]\n REMOVE_TEMPS(n$0,n$1); [line 58]\n NULLIFY(&b,false); [line 58]\n APPLY_ABSTRACTION; [line 58]\n " shape="box"]
29 [label="29: Exit div0_s_b1 \n " color=yellow style=filled ]
29 -> 28 ;
28 [label="28: Start div0_s_b1\nFormals: s:class Sub *\nLocals: \n DECLARE_LOCALS(&return); [line 55]\n " color=yellow style=filled]
28 [label="28: Exit div1_cast \n " color=yellow style=filled]
27 [label="27: Start div1_cast\nFormals: s:class Sub *\nLocals: b:struct Base1 * \n DECLARE_LOCALS(&return,&b); [line 55]\n NULLIFY(&b,false); [line 55]\n " color=yellow style=filled]
28 -> 32 ;
27 [label="27: BinaryOperatorStmt: Assign \n n$5=*&s:class Sub * [line 50]\n *n$5.b1:int =1 [line 50]\n REMOVE_TEMPS(n$5); [line 50]\n " shape="box"]
27 -> 31 ;
27 -> 26 ;
26 [label="26: BinaryOperatorStmt: Assign \n *&s.b1:int =1 [line 51]\n " shape="box"]
26 [label="26: BinaryOperatorStmt: Assign \n n$4=*&s:class Sub * [line 51]\n *n$4.s:int =1 [line 51]\n REMOVE_TEMPS(n$4); [line 51]\n " shape="box"]
26 -> 25 ;
26 -> 25 ;
25 [label="25: Return Stmt \n n$0=*&s.b1:int [line 52]\n *&return:int =(1 / n$0) [line 52]\n REMOVE_TEMPS(n$0); [line 52]\n NULLIFY(&s,false); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="box"]
25 [label="25: Return Stmt \n n$0=*&s:class Sub * [line 52]\n n$1=*n$0.b1:int [line 52]\n n$2=*&s:class Sub * [line 52]\n n$3=*n$2.s:int [line 52]\n *&return:int =(1 / (n$1 - n$3)) [line 52]\n REMOVE_TEMPS(n$0,n$1,n$2,n$3 ); [line 52]\n NULLIFY(&s,false); [line 52]\n APPLY_ABSTRACTION; [line 52]\n " shape="box"]
25 -> 24 ;
25 -> 24 ;
24 [label="24: Exit div1_b1 \n " color=yellow style=filled]
24 [label="24: Exit div0_b1_s \n " color=yellow style=filled]
23 [label="23: Start div1_b1\nFormals: s:class Sub \nLocals: \n DECLARE_LOCALS(&return); [line 50]\n " color=yellow style=filled]
23 [label="23: Start div0_b1_s\nFormals: s:class Sub *\nLocals: \n DECLARE_LOCALS(&return); [line 49 ]\n " color=yellow style=filled]
23 -> 26 ;
23 -> 27 ;
22 [label="22: BinaryOperatorStmt: Assign \n *&s.b1:int =0 [line 44]\n " shape="box"]
22 [label="22: BinaryOperatorStmt: Assign \n *&s.b1:int =0 [line 44]\n " shape="box"]