digraph iCFG { 23 [label="23: DeclStmt \n *&a:int =3 [line 28]\n " shape="box"] 23 -> 22 ; 22 [label="22: DeclStmt \n *&p:int *=&a [line 29]\n " shape="box"] 22 -> 21 ; 21 [label="21: Call _fun_fun_p \n n$5=*&p:int * [line 31]\n n$6=_fun_fun_p(n$5:int *) [line 31]\n REMOVE_TEMPS(n$5,n$6); [line 31]\n " shape="box"] 21 -> 20 ; 20 [label="20: Call _fun_fun_v \n n$2=*&p:int * [line 32]\n n$3=*n$2:int [line 32]\n n$4=_fun_fun_v(n$3:int ) [line 32]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 32]\n " shape="box"] 20 -> 19 ; 19 [label="19: Call _fun_fun_r \n n$0=*&p:int * [line 33]\n n$1=_fun_fun_r(n$0:int &) [line 33]\n REMOVE_TEMPS(n$0,n$1); [line 33]\n NULLIFY(&p,false); [line 33]\n NULLIFY(&a,false); [line 33]\n APPLY_ABSTRACTION; [line 33]\n " shape="box"] 19 -> 18 ; 18 [label="18: Exit unbox_ptr \n " color=yellow style=filled] 17 [label="17: Start unbox_ptr\nFormals: \nLocals: p:int * a:int \n DECLARE_LOCALS(&return,&p,&a); [line 27]\n NULLIFY(&p,false); [line 27]\n " color=yellow style=filled] 17 -> 23 ; 16 [label="16: DeclStmt \n *&a:int =3 [line 18]\n " shape="box"] 16 -> 15 ; 15 [label="15: DeclStmt \n *&r:int &=&a [line 19]\n " shape="box"] 15 -> 14 ; 14 [label="14: Call _fun_fun_p \n n$5=*&r:int & [line 21]\n n$6=_fun_fun_p(n$5:int *) [line 21]\n REMOVE_TEMPS(n$5,n$6); [line 21]\n " shape="box"] 14 -> 13 ; 13 [label="13: Call _fun_fun_v \n n$2=*&r:int & [line 22]\n n$3=*n$2:int [line 22]\n n$4=_fun_fun_v(n$3:int ) [line 22]\n REMOVE_TEMPS(n$2,n$3,n$4); [line 22]\n " shape="box"] 13 -> 12 ; 12 [label="12: Call _fun_fun_r \n n$0=*&r:int & [line 23]\n n$1=_fun_fun_r(n$0:int &) [line 23]\n REMOVE_TEMPS(n$0,n$1); [line 23]\n NULLIFY(&r,false); [line 23]\n NULLIFY(&a,false); [line 23]\n APPLY_ABSTRACTION; [line 23]\n " shape="box"] 12 -> 11 ; 11 [label="11: Exit unbox_ref \n " color=yellow style=filled] 10 [label="10: Start unbox_ref\nFormals: \nLocals: r:int & a:int \n DECLARE_LOCALS(&return,&r,&a); [line 17]\n NULLIFY(&r,false); [line 17]\n " color=yellow style=filled] 10 -> 16 ; 9 [label="9: Return Stmt \n n$0=*&p:int & [line 12]\n n$1=*n$0:int [line 12]\n *&return:int =n$1 [line 12]\n REMOVE_TEMPS(n$0,n$1); [line 12]\n NULLIFY(&p,false); [line 12]\n APPLY_ABSTRACTION; [line 12]\n " shape="box"] 9 -> 8 ; 8 [label="8: Exit fun_r \n " color=yellow style=filled] 7 [label="7: Start fun_r\nFormals: p:int &\nLocals: \n DECLARE_LOCALS(&return); [line 12]\n " color=yellow style=filled] 7 -> 9 ; 6 [label="6: Return Stmt \n n$0=*&p:int [line 11]\n *&return:int =n$0 [line 11]\n REMOVE_TEMPS(n$0); [line 11]\n NULLIFY(&p,false); [line 11]\n APPLY_ABSTRACTION; [line 11]\n " shape="box"] 6 -> 5 ; 5 [label="5: Exit fun_v \n " color=yellow style=filled] 4 [label="4: Start fun_v\nFormals: p:int \nLocals: \n DECLARE_LOCALS(&return); [line 11]\n " color=yellow style=filled] 4 -> 6 ; 3 [label="3: Return Stmt \n n$0=*&p:int * [line 10]\n n$1=*n$0:int [line 10]\n *&return:int =n$1 [line 10]\n REMOVE_TEMPS(n$0,n$1); [line 10]\n NULLIFY(&p,false); [line 10]\n APPLY_ABSTRACTION; [line 10]\n " shape="box"] 3 -> 2 ; 2 [label="2: Exit fun_p \n " color=yellow style=filled] 1 [label="1: Start fun_p\nFormals: p:int *\nLocals: \n DECLARE_LOCALS(&return); [line 10]\n " color=yellow style=filled] 1 -> 3 ; }