/* @generated */ digraph iCFG { "TranslateAsPtr_operator*2" [label="2: Exit TranslateAsPtr_operator* \n " color=yellow style=filled] "TranslateAsPtr_operator*1" [label="1: Start TranslateAsPtr_operator*\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 81]\n " color=yellow style=filled] "TranslateAsPtr_operator*1" -> "TranslateAsPtr_operator*2" ; "TranslateAsPtr_setPtr3" [label="3: BinaryOperatorStmt: Assign \n n$0=*&this:int ** [line 86]\n n$1=*&v:int * [line 86]\n *n$0:void *=n$1 [line 86]\n " shape="box"] "TranslateAsPtr_setPtr3" -> "TranslateAsPtr_setPtr2" ; "TranslateAsPtr_setPtr2" [label="2: Exit TranslateAsPtr_setPtr \n " color=yellow style=filled] "TranslateAsPtr_setPtr1" [label="1: Start TranslateAsPtr_setPtr\nFormals: this:int ** v:int *\nLocals: \n DECLARE_LOCALS(&return); [line 86]\n " color=yellow style=filled] "TranslateAsPtr_setPtr1" -> "TranslateAsPtr_setPtr3" ; "getPtr_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 96]\n n$4=*&t:int * [line 96]\n " shape="box"] "getPtr_null_deref25" -> "getPtr_null_deref24" ; "getPtr_null_deref24" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 97]\n _fun_TranslateAsPtr_setPtr(&t:int *&,null:int *) [line 97]\n " shape="box"] "getPtr_null_deref24" -> "getPtr_null_deref23" ; "getPtr_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 98]\n n$1=*&t:int *& [line 98]\n n$2=*n$1:int [line 98]\n *&return:int =n$2 [line 98]\n " shape="box"] "getPtr_null_deref23" -> "getPtr_null_deref22" ; "getPtr_null_deref22" [label="2: Exit getPtr_null_deref2 \n " color=yellow style=filled] "getPtr_null_deref21" [label="1: Start getPtr_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 95]\n " color=yellow style=filled] "getPtr_null_deref21" -> "getPtr_null_deref25" ; "getRef_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 134]\n n$4=*&t:int * [line 134]\n " shape="box"] "getRef_null_deref25" -> "getRef_null_deref24" ; "getRef_null_deref24" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 135]\n _fun_TranslateAsPtr_setPtr(&t:int *&,null:int *) [line 135]\n " shape="box"] "getRef_null_deref24" -> "getRef_null_deref23" ; "getRef_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 136]\n n$1=*&t:int *& [line 136]\n n$2=*n$1:int * [line 136]\n *&return:int =n$2 [line 136]\n " shape="box"] "getRef_null_deref23" -> "getRef_null_deref22" ; "getRef_null_deref22" [label="2: Exit getRef_null_deref2 \n " color=yellow style=filled] "getRef_null_deref21" [label="1: Start getRef_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 133]\n " color=yellow style=filled] "getRef_null_deref21" -> "getRef_null_deref25" ; "operator_star_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 122]\n n$4=*&t:int * [line 122]\n " shape="box"] "operator_star_ok_deref5" -> "operator_star_ok_deref4" ; "operator_star_ok_deref4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 123]\n _fun_TranslateAsPtr_setPtr(&t:int *&,&a:int *) [line 123]\n " shape="box"] "operator_star_ok_deref4" -> "operator_star_ok_deref3" ; "operator_star_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 124]\n n$1=*&t:int *& [line 124]\n n$2=*n$1:int * [line 124]\n *&return:int =n$2 [line 124]\n " shape="box"] "operator_star_ok_deref3" -> "operator_star_ok_deref2" ; "operator_star_ok_deref2" [label="2: Exit operator_star_ok_deref \n " color=yellow style=filled] "operator_star_ok_deref1" [label="1: Start operator_star_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 120]\n " color=yellow style=filled] "operator_star_ok_deref1" -> "operator_star_ok_deref5" ; "derefFirstArg23" [label="3: Return Stmt \n n$0=*&b:int * [line 26]\n n$1=*n$0:int [line 26]\n *&return:int =n$1 [line 26]\n " shape="box"] "derefFirstArg23" -> "derefFirstArg22" ; "derefFirstArg22" [label="2: Exit derefFirstArg2 \n " color=yellow style=filled] "derefFirstArg21" [label="1: Start derefFirstArg2\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 22]\n " color=yellow style=filled] "derefFirstArg21" -> "derefFirstArg23" ; "TranslateAsPtr_getRef2" [label="2: Exit TranslateAsPtr_getRef \n " color=yellow style=filled] "TranslateAsPtr_getRef1" [label="1: Start TranslateAsPtr_getRef\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 83]\n " color=yellow style=filled] "TranslateAsPtr_getRef1" -> "TranslateAsPtr_getRef2" ; "TranslateAsPtr_TranslateAsPtr3" [label="3: Call _fun_TranslateAsPtr_setPtr \n n$0=*&this:int ** [line 76]\n _=*n$0:int * [line 76]\n n$2=*&t:int * [line 76]\n _fun_TranslateAsPtr_setPtr(n$0:int **,n$2:int *) [line 76]\n " shape="box"] "TranslateAsPtr_TranslateAsPtr3" -> "TranslateAsPtr_TranslateAsPtr2" ; "TranslateAsPtr_TranslateAsPtr2" [label="2: Exit TranslateAsPtr_TranslateAsPtr \n " color=yellow style=filled] "TranslateAsPtr_TranslateAsPtr1" [label="1: Start TranslateAsPtr_TranslateAsPtr\nFormals: this:int ** t:int *\nLocals: \n DECLARE_LOCALS(&return); [line 76]\n " color=yellow style=filled] "TranslateAsPtr_TranslateAsPtr1" -> "TranslateAsPtr_TranslateAsPtr3" ; "derefFirstArg33" [label="3: Return Stmt \n n$0=*&b:int * [line 33]\n n$1=*n$0:int [line 33]\n *&return:int =n$1 [line 33]\n " shape="box"] "derefFirstArg33" -> "derefFirstArg32" ; "derefFirstArg32" [label="2: Exit derefFirstArg3 \n " color=yellow style=filled] "derefFirstArg31" [label="1: Start derefFirstArg3\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 31]\n " color=yellow style=filled] "derefFirstArg31" -> "derefFirstArg33" ; "operator_star_null_deref25" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 115]\n n$4=*&t:int * [line 115]\n " shape="box"] "operator_star_null_deref25" -> "operator_star_null_deref24" ; "operator_star_null_deref24" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 116]\n _fun_TranslateAsPtr_setPtr(&t:int *&,null:int *) [line 116]\n " shape="box"] "operator_star_null_deref24" -> "operator_star_null_deref23" ; "operator_star_null_deref23" [label="3: Return Stmt \n _=*&t:int * [line 117]\n n$1=*&t:int *& [line 117]\n n$2=*n$1:int * [line 117]\n *&return:int =n$2 [line 117]\n " shape="box"] "operator_star_null_deref23" -> "operator_star_null_deref22" ; "operator_star_null_deref22" [label="2: Exit operator_star_null_deref2 \n " color=yellow style=filled] "operator_star_null_deref21" [label="1: Start operator_star_null_deref2\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 114]\n " color=yellow style=filled] "operator_star_null_deref21" -> "operator_star_null_deref25" ; "TranslateAsPtr_getPtr2" [label="2: Exit TranslateAsPtr_getPtr \n " color=yellow style=filled] "TranslateAsPtr_getPtr1" [label="1: Start TranslateAsPtr_getPtr\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 78]\n " color=yellow style=filled] "TranslateAsPtr_getPtr1" -> "TranslateAsPtr_getPtr2" ; "derefFirstArg3_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 63]\n " shape="box"] "derefFirstArg3_null_deref4" -> "derefFirstArg3_null_deref3" ; "derefFirstArg3_null_deref3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(&a:int *,null:int *) [line 64]\n *&return:int =n$0 [line 64]\n " shape="box"] "derefFirstArg3_null_deref3" -> "derefFirstArg3_null_deref2" ; "derefFirstArg3_null_deref2" [label="2: Exit derefFirstArg3_null_deref \n " color=yellow style=filled] "derefFirstArg3_null_deref1" [label="1: Start derefFirstArg3_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 62]\n " color=yellow style=filled] "derefFirstArg3_null_deref1" -> "derefFirstArg3_null_deref4" ; "getRef_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 128]\n n$4=*&t:int * [line 128]\n " shape="box"] "getRef_null_deref15" -> "getRef_null_deref14" ; "getRef_null_deref14" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 129]\n _fun_TranslateAsPtr_setPtr(&t:int *&,null:int *) [line 129]\n " shape="box"] "getRef_null_deref14" -> "getRef_null_deref13" ; "getRef_null_deref13" [label="3: Return Stmt \n _=*&t:int * [line 130]\n n$1=*&t:int *& [line 130]\n n$2=*n$1:int * [line 130]\n *&return:int =n$2 [line 130]\n " shape="box"] "getRef_null_deref13" -> "getRef_null_deref12" ; "getRef_null_deref12" [label="2: Exit getRef_null_deref1 \n " color=yellow style=filled] "getRef_null_deref11" [label="1: Start getRef_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 127]\n " color=yellow style=filled] "getRef_null_deref11" -> "getRef_null_deref15" ; "derefFirstArg_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 38]\n " shape="box"] "derefFirstArg_null_deref4" -> "derefFirstArg_null_deref3" ; "derefFirstArg_null_deref3" [label="3: Return Stmt \n n$0=*null:int * [line 39]\n *&return:int =n$0 [line 39]\n " shape="box"] "derefFirstArg_null_deref3" -> "derefFirstArg_null_deref2" ; "derefFirstArg_null_deref2" [label="2: Exit derefFirstArg_null_deref \n " color=yellow style=filled] "derefFirstArg_null_deref1" [label="1: Start derefFirstArg_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 37]\n " color=yellow style=filled] "derefFirstArg_null_deref1" -> "derefFirstArg_null_deref4" ; "operator_star_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 109]\n n$3=*&t:int * [line 109]\n " shape="box"] "operator_star_null_deref15" -> "operator_star_null_deref14" ; "operator_star_null_deref14" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 110]\n _fun_TranslateAsPtr_setPtr(&t:int *&,null:int *) [line 110]\n " shape="box"] "operator_star_null_deref14" -> "operator_star_null_deref13" ; "operator_star_null_deref13" [label="3: Return Stmt \n n$0=*&t:int *& [line 111]\n n$1=*n$0:int * [line 111]\n *&return:int =n$1 [line 111]\n " shape="box"] "operator_star_null_deref13" -> "operator_star_null_deref12" ; "operator_star_null_deref12" [label="2: Exit operator_star_null_deref1 \n " color=yellow style=filled] "operator_star_null_deref11" [label="1: Start operator_star_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 108]\n " color=yellow style=filled] "operator_star_null_deref11" -> "operator_star_null_deref15" ; "TranslateAsPtr_getRef2" [label="2: Exit TranslateAsPtr_getRef \n " color=yellow style=filled] "TranslateAsPtr_getRef1" [label="1: Start TranslateAsPtr_getRef\nFormals: this:int **\nLocals: \n DECLARE_LOCALS(&return); [line 82]\n " color=yellow style=filled] "TranslateAsPtr_getRef1" -> "TranslateAsPtr_getRef2" ; "derefFirstArg2_null_deref4" [label="4: DeclStmt \n *&a:int =0 [line 48]\n " shape="box"] "derefFirstArg2_null_deref4" -> "derefFirstArg2_null_deref3" ; "derefFirstArg2_null_deref3" [label="3: Return Stmt \n n$0=*null:int * [line 49]\n *&return:int =n$0 [line 49]\n " shape="box"] "derefFirstArg2_null_deref3" -> "derefFirstArg2_null_deref2" ; "derefFirstArg2_null_deref2" [label="2: Exit derefFirstArg2_null_deref \n " color=yellow style=filled] "derefFirstArg2_null_deref1" [label="1: Start derefFirstArg2_null_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 47]\n " color=yellow style=filled] "derefFirstArg2_null_deref1" -> "derefFirstArg2_null_deref4" ; "getRef_ok_deref6" [label="6: DeclStmt \n *&a:int =0 [line 140]\n " shape="box"] "getRef_ok_deref6" -> "getRef_ok_deref5" ; "getRef_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 141]\n n$4=*&t:int * [line 141]\n " shape="box"] "getRef_ok_deref5" -> "getRef_ok_deref4" ; "getRef_ok_deref4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 142]\n _fun_TranslateAsPtr_setPtr(&t:int *&,&a:int *) [line 142]\n " shape="box"] "getRef_ok_deref4" -> "getRef_ok_deref3" ; "getRef_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 143]\n n$1=*&t:int *& [line 143]\n n$2=*n$1:int * [line 143]\n *&return:int =n$2 [line 143]\n " shape="box"] "getRef_ok_deref3" -> "getRef_ok_deref2" ; "getRef_ok_deref2" [label="2: Exit getRef_ok_deref \n " color=yellow style=filled] "getRef_ok_deref1" [label="1: Start getRef_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 139]\n " color=yellow style=filled] "getRef_ok_deref1" -> "getRef_ok_deref6" ; "derefFirstArg_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 43]\n " shape="box"] "derefFirstArg_ok_deref4" -> "derefFirstArg_ok_deref3" ; "derefFirstArg_ok_deref3" [label="3: Return Stmt \n n$0=*&a:int * [line 44]\n *&return:int =n$0 [line 44]\n " shape="box"] "derefFirstArg_ok_deref3" -> "derefFirstArg_ok_deref2" ; "derefFirstArg_ok_deref2" [label="2: Exit derefFirstArg_ok_deref \n " color=yellow style=filled] "derefFirstArg_ok_deref1" [label="1: Start derefFirstArg_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 42]\n " color=yellow style=filled] "derefFirstArg_ok_deref1" -> "derefFirstArg_ok_deref4" ; "getPtr_null_deref15" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 90]\n n$4=*&t:int * [line 90]\n " shape="box"] "getPtr_null_deref15" -> "getPtr_null_deref14" ; "getPtr_null_deref14" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 91]\n _fun_TranslateAsPtr_setPtr(&t:int *&,null:int *) [line 91]\n " shape="box"] "getPtr_null_deref14" -> "getPtr_null_deref13" ; "getPtr_null_deref13" [label="3: Return Stmt \n _=*&t:int * [line 92]\n n$1=*&t:int *& [line 92]\n n$2=*n$1:int [line 92]\n *&return:int =n$2 [line 92]\n " shape="box"] "getPtr_null_deref13" -> "getPtr_null_deref12" ; "getPtr_null_deref12" [label="2: Exit getPtr_null_deref1 \n " color=yellow style=filled] "getPtr_null_deref11" [label="1: Start getPtr_null_deref1\nFormals: \nLocals: t:int * \n DECLARE_LOCALS(&return,&t); [line 89]\n " color=yellow style=filled] "getPtr_null_deref11" -> "getPtr_null_deref15" ; "derefFirstArg2_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 53]\n " shape="box"] "derefFirstArg2_ok_deref4" -> "derefFirstArg2_ok_deref3" ; "derefFirstArg2_ok_deref3" [label="3: Return Stmt \n n$0=*&a:int * [line 54]\n *&return:int =n$0 [line 54]\n " shape="box"] "derefFirstArg2_ok_deref3" -> "derefFirstArg2_ok_deref2" ; "derefFirstArg2_ok_deref2" [label="2: Exit derefFirstArg2_ok_deref \n " color=yellow style=filled] "derefFirstArg2_ok_deref1" [label="1: Start derefFirstArg2_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 52]\n " color=yellow style=filled] "derefFirstArg2_ok_deref1" -> "derefFirstArg2_ok_deref4" ; "getPtr_ok_deref6" [label="6: DeclStmt \n *&a:int =0 [line 102]\n " shape="box"] "getPtr_ok_deref6" -> "getPtr_ok_deref5" ; "getPtr_ok_deref5" [label="5: DeclStmt \n _fun_TranslateAsPtr_TranslateAsPtr(&t:int **,null:int *) [line 103]\n n$4=*&t:int * [line 103]\n " shape="box"] "getPtr_ok_deref5" -> "getPtr_ok_deref4" ; "getPtr_ok_deref4" [label="4: Call _fun_TranslateAsPtr_setPtr \n _=*&t:int * [line 104]\n _fun_TranslateAsPtr_setPtr(&t:int *&,&a:int *) [line 104]\n " shape="box"] "getPtr_ok_deref4" -> "getPtr_ok_deref3" ; "getPtr_ok_deref3" [label="3: Return Stmt \n _=*&t:int * [line 105]\n n$1=*&t:int *& [line 105]\n n$2=*n$1:int [line 105]\n *&return:int =n$2 [line 105]\n " shape="box"] "getPtr_ok_deref3" -> "getPtr_ok_deref2" ; "getPtr_ok_deref2" [label="2: Exit getPtr_ok_deref \n " color=yellow style=filled] "getPtr_ok_deref1" [label="1: Start getPtr_ok_deref\nFormals: \nLocals: t:int * a:int \n DECLARE_LOCALS(&return,&t,&a); [line 101]\n " color=yellow style=filled] "getPtr_ok_deref1" -> "getPtr_ok_deref6" ; "TranslateAsPtr_getPtr2" [label="2: Exit TranslateAsPtr_getPtr \n " color=yellow style=filled] "TranslateAsPtr_getPtr1" [label="1: Start TranslateAsPtr_getPtr\nFormals: this:int ** a:int b:int \nLocals: \n DECLARE_LOCALS(&return); [line 79]\n " color=yellow style=filled] "TranslateAsPtr_getPtr1" -> "TranslateAsPtr_getPtr2" ; "derefFirstArg3_ok_deref4" [label="4: DeclStmt \n *&a:int =0 [line 58]\n " shape="box"] "derefFirstArg3_ok_deref4" -> "derefFirstArg3_ok_deref3" ; "derefFirstArg3_ok_deref3" [label="3: Return Stmt \n n$0=_fun_derefFirstArg3(null:int *,&a:int *) [line 59]\n *&return:int =n$0 [line 59]\n " shape="box"] "derefFirstArg3_ok_deref3" -> "derefFirstArg3_ok_deref2" ; "derefFirstArg3_ok_deref2" [label="2: Exit derefFirstArg3_ok_deref \n " color=yellow style=filled] "derefFirstArg3_ok_deref1" [label="1: Start derefFirstArg3_ok_deref\nFormals: \nLocals: a:int \n DECLARE_LOCALS(&return,&a); [line 57]\n " color=yellow style=filled] "derefFirstArg3_ok_deref1" -> "derefFirstArg3_ok_deref4" ; "derefFirstArg2" [label="2: Exit derefFirstArg \n " color=yellow style=filled] "derefFirstArg1" [label="1: Start derefFirstArg\nFormals: a:int * b:int *\nLocals: \n DECLARE_LOCALS(&return); [line 19]\n " color=yellow style=filled] "derefFirstArg1" -> "derefFirstArg2" ; }