Index: src/Tests/Expect-r/Abstype.txt
===================================================================
--- src/Tests/Expect-r/Abstype.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Abstype.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1505 @@
+nameExpr is x
+decl is x: function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: x: function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is t
+decl is t: instance of type T (not function type) 
+newExpr is Variable Expression: t: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: x: function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: t: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type T (not function type) 
+actuals are:
+                  Variable Expression: t: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: x: function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: t: instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: x: function
+        with parameters
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T (not function type) 
+    _src: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T (not function type) 
+      _src: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type U (not function type) 
+    _src: instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type U (not function type) 
+
+    to:
+      pointer to pointer to signed int 
+    Cast of:
+      Variable Expression: _src: instance of type U (not function type) 
+
+    to:
+      pointer to signed int 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type U (not function type) 
+      _src: instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T (not function type) 
+      _src: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T (not function type) 
+          _src: instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type U (not function type) 
+      _src: instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type U (not function type) 
+          _src: instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type U (not function type) 
+(types:
+    lvalue pointer to instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is u
+decl is u: instance of type U (not function type) 
+newExpr is Variable Expression: u: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Variable Expression: u: instance of type U (not function type) 
+
+to:
+  instance of type U (not function type) 
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T (not function type) 
+    _src: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T (not function type) 
+      _src: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type U (not function type) 
+    _src: instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type U (not function type) 
+
+    to:
+      pointer to pointer to signed int 
+    Cast of:
+      Variable Expression: _src: instance of type U (not function type) 
+
+    to:
+      pointer to signed int 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type U (not function type) 
+      _src: instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T (not function type) 
+      _src: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T (not function type) 
+          _src: instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type U (not function type) 
+      _src: instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type U (not function type) 
+          _src: instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+nameExpr is u_instance
+decl is u_instance: instance of type U (not function type) with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: u: instance of type U (not function type) 
+
+  to:
+    instance of type U (not function type) 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: u_instance: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u_instance: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: u_instance: instance of type U (not function type) 
+(types:
+    pointer to instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: u_instance: instance of type U (not function type) 
+(types:
+    pointer to instance of type U (not function type) 
+)
+Environment: 
+
+nameExpr is u
+decl is u: instance of type U (not function type) 
+newExpr is Variable Expression: u: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type U (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type U (not function type) 
+              _src: instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type U (not function type) 
+                  _src: instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type U (not function type) 
+actual type is pointer to instance of type U (not function type) 
+formal type is instance of type U (not function type) 
+actual type is lvalue instance of type U (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T (not function type) 
+              _src: instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T (not function type) 
+                  _src: instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type U (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to instance of type U (not function type) 
+actual expression:
+        Address of:
+          Variable Expression: u_instance: instance of type U (not function type) 
+--- results are
+        pointer to instance of type U (not function type) 
+
+converting pointer to instance of type U (not function type) 
+ to pointer to instance of type U (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: u: instance of type U (not function type) 
+--- results are
+        lvalue instance of type U (not function type) 
+
+converting lvalue instance of type U (not function type) 
+ to instance of type U (not function type) 
+cost is( 0, 0, 2 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of type U (not function type) 
+        _src: instance of type U (not function type) 
+actuals are:
+                  Address of:
+            Variable Expression: u_instance: instance of type U (not function type) 
+
+                  Cast of:
+            Variable Expression: u: instance of type U (not function type) 
+
+          to:
+            instance of type U (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 2 )
+alternatives before prune:
+Cost ( 0, 0, 2 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        _dst: pointer to instance of type U (not function type) 
+        _src: instance of type U (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Address of:
+      Variable Expression: u_instance: instance of type U (not function type) 
+
+      Cast of:
+      Variable Expression: u: instance of type U (not function type) 
+
+    to:
+      instance of type U (not function type) 
+
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          _dst: pointer to instance of type U (not function type) 
+          _src: instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+  to arguments
+          Address of:
+        Variable Expression: u_instance: instance of type U (not function type) 
+
+          Cast of:
+        Variable Expression: u: instance of type U (not function type) 
+
+      to:
+        instance of type U (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?++
+decl is ?++: function
+  with parameters
+    pointer to signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?++: function
+    with parameters
+      pointer to signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?++: function
+    with parameters
+      pointer to signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is *?
+decl is *?: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    pointer to instance of type T (not function type) 
+  returning 
+    lvalue instance of type T (not function type) 
+
+newExpr is Variable Expression: *?: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type T (not function type) 
+    returning 
+      lvalue instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: *?: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type T (not function type) 
+    returning 
+      lvalue instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type _0_T (not function type) 
+        returning 
+          lvalue instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is u
+decl is u: instance of type U (not function type) 
+newExpr is Variable Expression: u: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: *?: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              pointer to instance of type T (not function type) 
+            returning 
+              lvalue instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  pointer to instance of type _0_T (not function type) 
+                returning 
+                  lvalue instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type _0_T (not function type) 
+actual type is lvalue instance of type U (not function type) 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to forall
+    _1_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _1_DT (not function type) 
+    pointer to instance of type _1_DT (not function type) 
+  returning 
+    pointer to instance of type _1_DT (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T (not function type) 
+    _src: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type T (not function type) 
+    _src: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type U (not function type) 
+    _src: instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type U (not function type) 
+
+    to:
+      pointer to pointer to signed int 
+    Cast of:
+      Variable Expression: _src: instance of type U (not function type) 
+
+    to:
+      pointer to signed int 
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type U (not function type) 
+    _src: instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 15 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 25 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: u: instance of type U (not function type) 
+--- results are
+        lvalue instance of type U (not function type) 
+
+converting lvalue instance of type U (not function type) 
+ to pointer to instance of type _0_T (not function type) 
+cost is( 0, 0, 1 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type _0_T (not function type) 
+actuals are:
+                  Cast of:
+            Variable Expression: u: instance of type U (not function type) 
+
+          to:
+            pointer to signed int 
+
+bindings are:
+        ( _0_T ) -> signed int  (no widening)
+cost of conversion is:( 0, 4, 1 )
+alternatives before prune:
+Cost ( 0, 4, 1 ): Application of
+  Variable Expression: *?: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        pointer to instance of type T (not function type) 
+      returning 
+        lvalue instance of type T (not function type) 
+
+to arguments
+      Cast of:
+      Variable Expression: u: instance of type U (not function type) 
+
+    to:
+      pointer to signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    lvalue instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 4, 1 ): Address of:
+  Application of
+    Variable Expression: *?: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type T (not function type) 
+        returning 
+          lvalue instance of type T (not function type) 
+
+  to arguments
+          Cast of:
+        Variable Expression: u: instance of type U (not function type) 
+
+      to:
+        pointer to signed int 
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+(types:
+    pointer to signed int 
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 4, 1 ): Address of:
+  Application of
+    Variable Expression: *?: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type T (not function type) 
+        returning 
+          lvalue instance of type T (not function type) 
+
+  to arguments
+          Cast of:
+        Variable Expression: u: instance of type U (not function type) 
+
+      to:
+        pointer to signed int 
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+(types:
+    pointer to signed int 
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?++: function
+            with parameters
+              pointer to signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Application of
+            Variable Expression: *?: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                returning 
+                  lvalue instance of type T (not function type) 
+
+          to arguments
+                          Cast of:
+                Variable Expression: u: instance of type U (not function type) 
+
+              to:
+                pointer to signed int 
+
+          with inferred parameters:
+            ?=?: function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+--- results are
+        pointer to signed int 
+
+converting pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+actuals are:
+                  Address of:
+            Application of
+              Variable Expression: *?: forall
+                    T: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type T (not function type) 
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type T (not function type) 
+
+
+                  function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                  returning 
+                    lvalue instance of type T (not function type) 
+
+            to arguments
+                              Cast of:
+                  Variable Expression: u: instance of type U (not function type) 
+
+                to:
+                  pointer to signed int 
+
+            with inferred parameters:
+              ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+
+bindings are:
+        ( _0_T ) -> signed int  (no widening)
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?++: function
+      with parameters
+        pointer to signed int 
+      returning 
+        signed int 
+
+to arguments
+      Address of:
+      Application of
+        Variable Expression: *?: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              pointer to instance of type T (not function type) 
+            returning 
+              lvalue instance of type T (not function type) 
+
+      to arguments
+                  Cast of:
+            Variable Expression: u: instance of type U (not function type) 
+
+          to:
+            pointer to signed int 
+
+      with inferred parameters:
+        ?=?: function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+
+(types:
+    signed int 
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?++: function
+        with parameters
+          pointer to signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Address of:
+        Application of
+          Variable Expression: *?: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                pointer to instance of type T (not function type) 
+              returning 
+                lvalue instance of type T (not function type) 
+
+        to arguments
+                      Cast of:
+              Variable Expression: u: instance of type U (not function type) 
+
+            to:
+              pointer to signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is u
+decl is u: instance of type U (not function type) 
+newExpr is Variable Expression: u: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Variable Expression: u: instance of type U (not function type) 
+
+to:
+  instance of type U (not function type) 
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is u
+decl is u: instance of type U (not function type) 
+newExpr is Variable Expression: u: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: u: instance of type U (not function type) 
+
+to:
+  pointer to signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type U (not function type) 
+
+to:
+  pointer to pointer to signed int 
+
Index: src/Tests/Expect-r/Array.txt
===================================================================
--- src/Tests/Expect-r/Array.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Array.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,98 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 1, 0, 0 ): Cast of:
+constant expression 3.0 double 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int __a1__A0i[];
+int __a2__A0i[*];
+double __a4__A0d[((long unsigned int )3.0)];
+int __m1__A0A0i[][3];
+int __m2__A0A0i[*][*];
+int __m4__A0A0i[((long unsigned int )3)][3];
+int __fred__Fi__(){
+    int __a1__A0i[];
+    int __a2__A0i[*];
+    int __a4__A0i[((long unsigned int )3)];
+    int __T__A0i[((long unsigned int )3)];
+}
+int __mary__Fi_PiCPiPiCPi_(int __T__Pi[3], int __p1__CPi[const 3], int __p2__Pi[static 3], int __p3__CPi[static const 3]){
+}
+int (*__tom__FPA0i__())[3]{
+}
+int (*__jane__FPFi_PiCPiPiCPi___())(int __T__Pi[3], int __p1__CPi[const 3], int __p2__Pi[static 3], int __p3__CPi[static const 3]){
+}
Index: src/Tests/Expect-r/AsmName.txt
===================================================================
--- src/Tests/Expect-r/AsmName.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/AsmName.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,5 @@
+extern int __x__i;
+int __fred__Fi_i_(int __x__i){
+    static int __y__i;
+    static int *__z__Pi;
+}
Index: src/Tests/Expect-r/Attributes.txt
===================================================================
--- src/Tests/Expect-r/Attributes.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Attributes.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1 @@
+Error at line 8 reading token "*"
Index: src/Tests/Expect-r/Cast.txt
===================================================================
--- src/Tests/Expect-r/Cast.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Cast.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,2235 @@
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: char 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            signed int 
+
+      Declaration of f: short signed int 
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            signed int 
+
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+              Expression Statement:
+          Cast of:
+            Tuple:
+                              Name: f
+
+                              Name: f
+
+                              Name: f
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: char 
+newExpr is Variable Expression: f: char 
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 4 ): Cast of:
+  Variable Expression: f: char 
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Cast of:
+    Variable Expression: f: char 
+
+  to:
+    signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: char 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: char 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of f: short signed int 
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            signed int 
+
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+              Expression Statement:
+          Cast of:
+            Tuple:
+                              Name: f
+
+                              Name: f
+
+                              Name: f
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: char 
+newExpr is Variable Expression: f: char 
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: short signed int 
+newExpr is Variable Expression: f: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Variable Expression: f: short signed int 
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Cast of:
+    Variable Expression: f: short signed int 
+
+  to:
+    signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: char 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: char 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of f: short signed int 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: short signed int 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+              Expression Statement:
+          Cast of:
+            Tuple:
+                              Name: f
+
+                              Name: f
+
+                              Name: f
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: char 
+newExpr is Variable Expression: f: char 
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: short signed int 
+newExpr is Variable Expression: f: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: f: function
+        accepting unspecified arguments
+      returning 
+        nothing 
+
+
+to:
+  pointer to function
+        accepting unspecified arguments
+      returning 
+        nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Cast of:
+    Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+  to:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: char 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: char 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of f: short signed int 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: short signed int 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Tuple:
+                              Name: f
+
+                              Name: f
+
+                              Name: f
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: char 
+newExpr is Variable Expression: f: char 
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: short signed int 
+newExpr is Variable Expression: f: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: char 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: char 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of f: short signed int 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: short signed int 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Tuple:
+                              Name: f
+
+                              Name: f
+
+                              Name: f
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: char 
+newExpr is Variable Expression: f: char 
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: short signed int 
+newExpr is Variable Expression: f: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: char 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: char 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of f: short signed int 
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: short signed int 
+
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Variable Expression: f: function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Cast of:
+            Tuple:
+                              Name: f
+
+                              Name: f
+
+                              Name: f
+
+
+          to:
+            long signed int 
+            long double 
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  nothing 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: char 
+newExpr is Variable Expression: f: char 
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: short signed int 
+newExpr is Variable Expression: f: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue short signed int 
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue double 
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue char 
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue short signed int 
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue double 
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue char 
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue short signed int 
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue double 
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+(types:
+    lvalue char 
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue short signed int 
+    lvalue short signed int 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue double 
+    lvalue short signed int 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue char 
+    lvalue short signed int 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue short signed int 
+    lvalue double 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue double 
+    lvalue double 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue char 
+    lvalue double 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue short signed int 
+    lvalue char 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue double 
+    lvalue char 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+(types:
+    lvalue char 
+    lvalue char 
+    lvalue short signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue short signed int 
+    lvalue short signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue double 
+    lvalue short signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue char 
+    lvalue short signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue short signed int 
+    lvalue double 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue double 
+    lvalue double 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue char 
+    lvalue double 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue short signed int 
+    lvalue char 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue double 
+    lvalue char 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+(types:
+    lvalue char 
+    lvalue char 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue short signed int 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue char 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue short signed int 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue short signed int 
+    lvalue short signed int 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue double 
+    lvalue short signed int 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue char 
+    lvalue short signed int 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue double 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue short signed int 
+    lvalue double 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue double 
+    lvalue double 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue char 
+    lvalue double 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+    lvalue char 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: short signed int 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue short signed int 
+    lvalue char 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: double 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue double 
+    lvalue char 
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+      Variable Expression: f: char 
+
+(types:
+    lvalue char 
+    lvalue char 
+    lvalue char 
+)
+Environment: 
+
+there are 64 alternatives before elimination
+there are 64 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 4 ): Cast of:
+  Tuple:
+          Variable Expression: f: short signed int 
+
+          Variable Expression: f: double 
+
+          Variable Expression: f: function
+            accepting unspecified arguments
+          returning 
+            nothing 
+
+
+
+to:
+  long signed int 
+  long double 
+  pointer to function
+        accepting unspecified arguments
+      returning 
+        nothing 
+
+(types:
+    long signed int 
+    long double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 3 ): Cast of:
+  Cast of:
+    Tuple:
+              Variable Expression: f: short signed int 
+
+              Variable Expression: f: double 
+
+              Variable Expression: f: function
+              accepting unspecified arguments
+            returning 
+              nothing 
+
+
+
+  to:
+    long signed int 
+    long double 
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+char __f__c;
+void __f__F__(){
+    char __f__c;
+    double __f__d;
+    ((int )__f__c);
+    short __f__s;
+    ((int )__f__s);
+    ((void (*)())__f__F__);
+    ((long int ));
+}
Index: src/Tests/Expect-r/CastError.txt
===================================================================
--- src/Tests/Expect-r/CastError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/CastError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,197 @@
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: signed int 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            char 
+
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  signed int 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: signed int 
+newExpr is Variable Expression: f: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 1, 0, 0 ): Cast of:
+  Variable Expression: f: signed int 
+
+to:
+  char 
+(types:
+    char 
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Cast of:
+  Variable Expression: f: double 
+
+to:
+  char 
+(types:
+    char 
+)
+Environment: 
+
+marking ambiguous
+there are 1 alternatives before elimination
+nameExpr is f
+decl is f: function
+    accepting unspecified arguments
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of f: signed int 
+      Declaration of f: double 
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            char 
+
+              Expression Statement:
+          Cast of:
+            Name: f
+
+          to:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  signed int 
+
+
+
+newExpr is Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+
+decl is f: double 
+newExpr is Variable Expression: f: double 
+
+decl is f: signed int 
+newExpr is Variable Expression: f: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+      accepting unspecified arguments
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+Error: Can't choose between alternatives for expression Cast of:
+  Name: f
+
+to:
+  char 
+Alternatives are:        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: signed int 
+
+        to:
+          char 
+(types:
+            char 
+)
+        Environment: 
+
+        Cost ( 1, 0, 0 ):         Cast of:
+          Variable Expression: f: double 
+
+        to:
+          char 
+(types:
+            char 
+)
+        Environment: 
+
+
+Error: No reasonable alternatives for expression Cast of:
+  Name: f
+
+to:
+  pointer to function
+        accepting unspecified arguments
+      returning 
+        signed int 
+
+
Index: src/Tests/Expect-r/CharStringConstants.txt
===================================================================
--- src/Tests/Expect-r/CharStringConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/CharStringConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1242 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression ' ' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression ' ' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 'a' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 'a' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '"' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '"' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '_' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '_' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\a' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\a' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\b' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\b' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\e' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\e' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\f' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\f' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\n' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\n' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\r' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\r' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\t' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\t' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\v' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\v' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\'' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\'' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\"' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\"' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\?' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\?' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\\' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\\' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\0' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\0' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\377' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\377' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\xf' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\xf' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\xff' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\xff' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 'aa' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 'aa' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 'a\na' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 'a\na' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 'a\0a' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 'a\0a' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\xfff' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\xfff' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '_\377_' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '_\377_' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '_\xff_' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '_\xff_' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\xffff' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\xffff' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 'a\xff34w' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 'a\xff34w' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\xff' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\xff' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '\xffff' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '\xffff' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression " " array of char with dimension of constant expression 4 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression " " array of char with dimension of constant expression 4 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "a" array of char with dimension of constant expression 4 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "a" array of char with dimension of constant expression 4 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "'" array of char with dimension of constant expression 4 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "'" array of char with dimension of constant expression 4 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression '_' char (types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression '_' char 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\a" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\a" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\b" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\b" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\e" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\e" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\f" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\f" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\n" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\n" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\r" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\r" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\t" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\t" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\v" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\v" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\'" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\'" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\"" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\"" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\?" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\?" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\\" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\\" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\0" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\0" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\377" array of char with dimension of constant expression 7 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\377" array of char with dimension of constant expression 7 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\xf" array of char with dimension of constant expression 6 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\xf" array of char with dimension of constant expression 6 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\xff" array of char with dimension of constant expression 7 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "" array of char with dimension of constant expression 3 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "" array of char with dimension of constant expression 3 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "aa" array of char with dimension of constant expression 5 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "aa" array of char with dimension of constant expression 5 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "a\na" array of char with dimension of constant expression 7 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "a\na" array of char with dimension of constant expression 7 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "a\0a" array of char with dimension of constant expression 7 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "_\377_" array of char with dimension of constant expression 9 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "_\xff_" array of char with dimension of constant expression 9 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\xff" array of char with dimension of constant expression 7 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\xff" array of char with dimension of constant expression 7 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\xfff" array of char with dimension of constant expression 8 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "a\xff34w" array of char with dimension of constant expression 11 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression "\xffff" array of char with dimension of constant expression 9 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int main(){
+    ' ';
+    'a';
+    '"';
+    '_';
+    '\a';
+    '\b';
+    '\e';
+    '\f';
+    '\n';
+    '\r';
+    '\t';
+    '\v';
+    '\'';
+    '\"';
+    '\?';
+    '\\';
+    '\0';
+    '\377';
+    '\xf';
+    '\xff';
+    '';
+    'aa';
+    'a\na';
+    'a\0a';
+    '\xfff';
+    '_\377_';
+    '_\xff_';
+    '\xffff';
+    'a\xff34w';
+    '\xff';
+    '\xffff';
+    " ";
+    "a";
+    "'";
+    '_';
+    "\a";
+    "\b";
+    "\e";
+    "\f";
+    "\n";
+    "\r";
+    "\t";
+    "\v";
+    "\'";
+    "\"";
+    "\?";
+    "\\";
+    "\0";
+    "\377";
+    "\xf";
+    "\xff";
+    "";
+    "aa";
+    "a\na";
+    "a\0a";
+    "_\377_";
+    "_\xff_";
+    "\xff";
+    "\xffff";
+    "\xfff";
+    "a\xff34w";
+    "\xffff";
+}
Index: src/Tests/Expect-r/CommentMisc.txt
===================================================================
--- src/Tests/Expect-r/CommentMisc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/CommentMisc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,27 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int __i__i;
+int __i__i;
+int __i__i;
+int __i__i;
+int main(){
+    int __x__A0i[((long unsigned int )10)];
+}
Index: src/Tests/Expect-r/Constant0-1.txt
===================================================================
--- src/Tests/Expect-r/Constant0-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Constant0-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3010 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+(types:
+    instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue instance of struct __anonymous2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+(types:
+    instance of struct __anonymous2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+(types:
+    instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+(types:
+    instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+(types:
+    instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue instance of struct __anonymous6 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+(types:
+    instance of struct __anonymous6 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous1 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous2 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous3 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous4 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous5 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous5 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous6 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous6 
+
Index: src/Tests/Expect-r/Context.txt
===================================================================
--- src/Tests/Expect-r/Context.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Context.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,8 @@
+;
+void __f__A1_0_0____operator_assign__PFt0_Pt0t0___q__PFt0_t0__F__(void (*_adapterF2tz_2tz_)(void (*)(), void *, void *), void (*_adapterF2tz_P2tz2tz_)(void (*)(), void *, void *, void *), long unsigned int z, void (*___operator_assign__PF2tz_P2tz2tz_)(), void (*__q__PF2tz_2tz_)(), ...){
+    ;
+    extern unsigned long x;
+    void *___operator_assign__F2tx_P2tx2tx_(void *___dst__P2tx, void *___src__2tx);
+    extern unsigned long y;
+    void *___operator_assign__F2ty_P2ty2ty_(void *___dst__P2ty, void *___src__2ty);
+}
Index: src/Tests/Expect-r/DeclarationErrors.txt
===================================================================
--- src/Tests/Expect-r/DeclarationErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/DeclarationErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,14 @@
+Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
+
+Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous0
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous1
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
+
Index: src/Tests/Expect-r/DeclarationSpecifier.txt
===================================================================
--- src/Tests/Expect-r/DeclarationSpecifier.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/DeclarationSpecifier.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,14 @@
+Error: invalid combination of storage classes in declaration of x9: static static volatile const short int 
+
+Error: invalid combination of storage classes in declaration of x18: static static const volatile instance of struct __anonymous8
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x19: static static const volatile volatile instance of struct __anonymous9
+  with members 
+    i: int 
+
+
+Error: invalid combination of storage classes in declaration of x28: static static volatile const instance of type Int
+
Index: src/Tests/Expect-r/Enum.txt
===================================================================
--- src/Tests/Expect-r/Enum.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Enum.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,48 @@
+nameExpr is Mango
+decl is Mango: const instance of enum Fruits 
+newExpr is Variable Expression: Mango: const instance of enum Fruits 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: Mango: const instance of enum Fruits 
+(types:
+    const lvalue instance of enum Fruits 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: Mango: const instance of enum Fruits 
+
+to:
+  instance of enum Fruits 
+(types:
+    instance of enum Fruits 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+enum Colors
+{
+    __Red__C7eColors,
+    __Yellow__C7eColors,
+    __Pink__C7eColors,
+    __Blue__C7eColors,
+    __Purple__C7eColors,
+    __Orange__C7eColors,
+    __Green__C7eColors,
+}
+;
+void __f__F__(void){
+    enum Fruits
+{
+        __Apple__C7eFruits,
+        __Banana__C7eFruits,
+        __Pear__C7eFruits,
+        __Mango__C7eFruits,
+}
+;
+    enum Fruits __fruit__7eFruits = ((enum Fruits )__Mango__C7eFruits);
+}
Index: src/Tests/Expect-r/Exception.txt
===================================================================
--- src/Tests/Expect-r/Exception.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Exception.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,26 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+constant expression 3 signed int 
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+nameExpr is ?/?
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?/?
+
Index: src/Tests/Expect-r/Expression.txt
===================================================================
--- src/Tests/Expect-r/Expression.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Expression.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,445 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s 
+    _src: instance of struct s 
+  returning 
+    instance of struct s 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct s 
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s 
+      _src: instance of struct s 
+    returning 
+      instance of struct s 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s 
+      _src: instance of struct s 
+    returning 
+      instance of struct s 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s 
+          _src: instance of struct s 
+        returning 
+          instance of struct s 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct s 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s 
+              _src: instance of struct s 
+            returning 
+              instance of struct s 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s 
+                  _src: instance of struct s 
+                returning 
+                  instance of struct s 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s 
+(types:
+    lvalue instance of struct s 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct s 
+
+to:
+  instance of struct s 
+(types:
+    instance of struct s 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is !?
+nameExpr is ~?
+nameExpr is +?
+nameExpr is -?
+nameExpr is *?
+nameExpr is ++?
+nameExpr is --?
+nameExpr is ?++
+nameExpr is ?--
+nameExpr is ?+?
+nameExpr is ?-?
+nameExpr is ?*?
+nameExpr is ?/?
+nameExpr is ?%?
+nameExpr is ?^?
+nameExpr is ?&?
+nameExpr is ?|?
+nameExpr is ?<?
+nameExpr is ?>?
+nameExpr is ?=?
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s 
+    _src: instance of struct s 
+  returning 
+    instance of struct s 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct s 
+
+to:
+  instance of struct s 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s 
+      _src: instance of struct s 
+    returning 
+      instance of struct s 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s 
+      _src: instance of struct s 
+    returning 
+      instance of struct s 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s 
+          _src: instance of struct s 
+        returning 
+          instance of struct s 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: i: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: i: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s 
+              _src: instance of struct s 
+            returning 
+              instance of struct s 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s 
+                  _src: instance of struct s 
+                returning 
+                  instance of struct s 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s 
+actual type is pointer to signed int 
+nameExpr is ?==?
+nameExpr is ?!=?
+nameExpr is ?<<?
+nameExpr is ?>>?
+nameExpr is ?<=?
+nameExpr is ?>=?
+nameExpr is ?!=?
+nameExpr is ?!=?
+nameExpr is *?
+nameExpr is ?+=?
+nameExpr is ?-=?
+nameExpr is ?*=?
+nameExpr is ?/=?
+nameExpr is ?%=?
+nameExpr is ?&=?
+nameExpr is ?|=?
+nameExpr is ?^=?
+nameExpr is ?<<=?
+nameExpr is ?>>=?
+nameExpr is ?!=?
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct s 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct s 
+
+Error: No reasonable alternatives for expression Name: !?
+
+Error: No reasonable alternatives for expression Name: ~?
+
+Error: No reasonable alternatives for expression Name: +?
+
+Error: No reasonable alternatives for expression Name: -?
+
+Error: No reasonable alternatives for expression Name: *?
+
+Error: No reasonable alternatives for expression Name: ++?
+
+Error: No reasonable alternatives for expression Name: --?
+
+Error: No reasonable alternatives for expression Name: ?++
+
+Error: No reasonable alternatives for expression Name: ?--
+
+Error: No reasonable alternatives for expression Name: ?+?
+
+Error: No reasonable alternatives for expression Name: ?-?
+
+Error: No reasonable alternatives for expression Name: ?*?
+
+Error: No reasonable alternatives for expression Name: ?/?
+
+Error: No reasonable alternatives for expression Name: ?%?
+
+Error: No reasonable alternatives for expression Name: ?^?
+
+Error: No reasonable alternatives for expression Name: ?&?
+
+Error: No reasonable alternatives for expression Name: ?|?
+
+Error: No reasonable alternatives for expression Name: ?<?
+
+Error: No reasonable alternatives for expression Name: ?>?
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: i
+    Name: i
+
+Error: No reasonable alternatives for expression Name: ?==?
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Name: ?<<?
+
+Error: No reasonable alternatives for expression Name: ?>>?
+
+Error: No reasonable alternatives for expression Name: ?<=?
+
+Error: No reasonable alternatives for expression Name: ?>=?
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Name: *?
+
+Error: No reasonable alternatives for expression Name: ?+=?
+
+Error: No reasonable alternatives for expression Name: ?-=?
+
+Error: No reasonable alternatives for expression Name: ?*=?
+
+Error: No reasonable alternatives for expression Name: ?/=?
+
+Error: No reasonable alternatives for expression Name: ?%=?
+
+Error: No reasonable alternatives for expression Name: ?&=?
+
+Error: No reasonable alternatives for expression Name: ?|=?
+
+Error: No reasonable alternatives for expression Name: ?^=?
+
+Error: No reasonable alternatives for expression Name: ?<<=?
+
+Error: No reasonable alternatives for expression Name: ?>>=?
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
Index: src/Tests/Expect-r/Forall.txt
===================================================================
--- src/Tests/Expect-r/Forall.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Forall.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,15904 @@
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is x
+decl is x: signed int 
+newExpr is Variable Expression: x: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue signed int 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 29 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 5 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: x: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Variable Expression: x: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: x: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: x: signed int 
+
+bindings are:
+        ( _0_T ) -> signed int 
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Variable Expression: x: signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: x: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> signed int 
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: f: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Variable Expression: x: signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is y
+decl is y: pointer to function
+  returning 
+    nothing 
+
+newExpr is Variable Expression: y: pointer to function
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
+    returning 
+      nothing 
+
+(types:
+    lvalue pointer to function
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
+    returning 
+      nothing 
+
+(types:
+    lvalue pointer to function
+        returning 
+          nothing 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue pointer to function
+  returning 
+    nothing 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue pointer to function
+  returning 
+    nothing 
+
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+success!
+satisfying assertion 29 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 25 ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: y: pointer to function
+            returning 
+              nothing 
+
+--- results are
+        lvalue pointer to function
+            returning 
+              nothing 
+
+
+converting lvalue pointer to function
+          returning 
+            nothing 
+
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to pointer to function
+                returning 
+                  nothing 
+
+            pointer to function
+                returning 
+                  nothing 
+
+          returning 
+            pointer to function
+                returning 
+                  nothing 
+
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: y: pointer to function
+              returning 
+                nothing 
+
+
+bindings are:
+        ( _0_T ) -> pointer to function
+          returning 
+            nothing 
+
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: y: pointer to function
+        returning 
+          nothing 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> pointer to function
+    returning 
+      nothing 
+
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: f: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: y: pointer to function
+          returning 
+            nothing 
+
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to pointer to function
+            returning 
+              nothing 
+
+        pointer to function
+            returning 
+              nothing 
+
+      returning 
+        pointer to function
+            returning 
+              nothing 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> pointer to function
+    returning 
+      nothing 
+
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is z
+decl is z: char 
+newExpr is Variable Expression: z: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: z: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue char 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+success!
+satisfying assertion 29 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 21 ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: z: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: z: char 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 4 )
+actual expression:
+        Variable Expression: z: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to char 
+            char 
+          returning 
+            char 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: z: char 
+
+bindings are:
+        ( _0_T ) -> char 
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 0, 4 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Variable Expression: z: char 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: z: char 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> char 
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: f: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Cast of:
+        Variable Expression: z: char 
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is w
+decl is w: float 
+newExpr is Variable Expression: w: float 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: w: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: w: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue float 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+success!
+satisfying assertion 29 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 9 ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: w: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: w: float 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: w: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: w: float 
+
+bindings are:
+        ( _0_T ) -> float 
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Variable Expression: w: float 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: w: float 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> float 
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: f: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: w: float 
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to float 
+        float 
+      returning 
+        float 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> float 
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is h
+decl is h: function
+  with parameters
+    p: pointer to function
+        returning 
+          nothing 
+
+  returning 
+    nothing 
+
+newExpr is Variable Expression: h: function
+    with parameters
+      p: pointer to function
+          returning 
+            nothing 
+
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: h: function
+    with parameters
+      p: pointer to function
+          returning 
+            nothing 
+
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          p: pointer to function
+              returning 
+                nothing 
+
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is y
+decl is y: pointer to function
+  returning 
+    nothing 
+
+newExpr is Variable Expression: y: pointer to function
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
+    returning 
+      nothing 
+
+(types:
+    lvalue pointer to function
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: pointer to function
+    returning 
+      nothing 
+
+(types:
+    lvalue pointer to function
+        returning 
+          nothing 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue pointer to function
+  returning 
+    nothing 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue pointer to function
+  returning 
+    nothing 
+
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+success!
+satisfying assertion 29 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 25 ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: y: pointer to function
+            returning 
+              nothing 
+
+--- results are
+        lvalue pointer to function
+            returning 
+              nothing 
+
+
+converting lvalue pointer to function
+          returning 
+            nothing 
+
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to pointer to function
+                returning 
+                  nothing 
+
+            pointer to function
+                returning 
+                  nothing 
+
+          returning 
+            pointer to function
+                returning 
+                  nothing 
+
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: y: pointer to function
+              returning 
+                nothing 
+
+
+bindings are:
+        ( _0_T ) -> pointer to function
+          returning 
+            nothing 
+
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: y: pointer to function
+        returning 
+          nothing 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> pointer to function
+    returning 
+      nothing 
+
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: y: pointer to function
+        returning 
+          nothing 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        returning 
+          nothing 
+
+)
+Environment:   ( _0_T ) -> pointer to function
+    returning 
+      nothing 
+
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: h: function
+            with parameters
+              p: pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  p: pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to function
+  returning 
+    nothing 
+
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Application of
+          Variable Expression: f: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: y: pointer to function
+                returning 
+                  nothing 
+
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+--- results are
+        pointer to function
+            returning 
+              nothing 
+
+
+converting pointer to function
+          returning 
+            nothing 
+
+ to pointer to function
+          returning 
+            nothing 
+
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        p: pointer to function
+            returning 
+              nothing 
+
+actuals are:
+                  Application of
+            Variable Expression: f: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Variable Expression: y: pointer to function
+                  returning 
+                    nothing 
+
+
+          with inferred parameters:
+            ?=?: function
+              with parameters
+                pointer to pointer to function
+                    returning 
+                      nothing 
+
+                pointer to function
+                    returning 
+                      nothing 
+
+              returning 
+                pointer to function
+                    returning 
+                      nothing 
+
+
+
+bindings are:
+        ( _0_T ) -> pointer to function
+          returning 
+            nothing 
+ (no widening)
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: h: function
+      with parameters
+        p: pointer to function
+            returning 
+              nothing 
+
+      returning 
+        nothing 
+
+to arguments
+      Application of
+      Variable Expression: f: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Variable Expression: y: pointer to function
+            returning 
+              nothing 
+
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+
+(types:
+)
+Environment:   ( _0_T ) -> pointer to function
+    returning 
+      nothing 
+ (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: h: function
+        with parameters
+          p: pointer to function
+              returning 
+                nothing 
+
+        returning 
+          nothing 
+
+  to arguments
+          Application of
+        Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+      to arguments
+                  Variable Expression: y: pointer to function
+              returning 
+                nothing 
+
+
+      with inferred parameters:
+        ?=?: function
+          with parameters
+            pointer to pointer to function
+                returning 
+                  nothing 
+
+            pointer to function
+                returning 
+                  nothing 
+
+          returning 
+            pointer to function
+                returning 
+                  nothing 
+
+
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> pointer to function
+    returning 
+      nothing 
+ (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+    instance of type U (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+          instance of type _0_T (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+          _2_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _2_U (not function type) 
+                    instance of type _2_U (not function type) 
+                  returning 
+                    instance of type _2_U (not function type) 
+
+
+        function
+        with parameters
+          instance of type _1_T (not function type) 
+          instance of type _2_U (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is x
+decl is x: signed int 
+newExpr is Variable Expression: x: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is y
+decl is y: float 
+newExpr is Variable Expression: y: float 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+              instance of type U (not function type) 
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _1_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_T (not function type) 
+                            instance of type _1_T (not function type) 
+                          returning 
+                            instance of type _1_T (not function type) 
+
+
+                  _2_U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _2_U (not function type) 
+                            instance of type _2_U (not function type) 
+                          returning 
+                            instance of type _2_U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _1_T (not function type) 
+                  instance of type _2_U (not function type) 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is instance of type _1_T (not function type) 
+actual type is lvalue signed int 
+formal type is instance of type _2_U (not function type) 
+actual type is lvalue float 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _2_U (not function type) 
+            instance of type _2_U (not function type) 
+          returning 
+            instance of type _2_U (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+success!
+satisfying assertion 56 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with declaration 9 ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 52 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 5 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                  instance of type _0_T (not function type) 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue signed int 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue float 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+success!
+satisfying assertion 45 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 9 ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: x: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _1_T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: y: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to instance of type _2_U (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _2_U (not function type) 
+            instance of type _2_U (not function type) 
+          returning 
+            instance of type _2_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _1_T (not function type) 
+        instance of type _2_U (not function type) 
+actuals are:
+                  Variable Expression: x: signed int 
+
+                  Variable Expression: y: float 
+
+bindings are:
+        ( _1_T ) -> signed int 
+        ( _2_U ) -> float 
+cost of conversion is:( 0, 8, 0 )
+actual expression:
+        Variable Expression: x: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 5 )
+actual expression:
+        Variable Expression: y: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+        instance of type _0_T (not function type) 
+actuals are:
+                  Cast of:
+            Variable Expression: x: signed int 
+
+          to:
+            float 
+
+                  Variable Expression: y: float 
+
+bindings are:
+        ( _0_T ) -> float 
+cost of conversion is:( 0, 5, 5 )
+alternatives before prune:
+Cost ( 0, 8, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+        instance of type U (not function type) 
+      returning 
+        nothing 
+
+to arguments
+      Variable Expression: x: signed int 
+
+      Variable Expression: y: float 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+)
+Environment:   ( _1_T ) -> signed int 
+  ( _2_U ) -> float 
+
+
+Cost ( 0, 5, 5 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Variable Expression: x: signed int 
+
+    to:
+      float 
+
+      Variable Expression: y: float 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+)
+Environment:   ( _0_T ) -> float 
+
+
+cost ( 0, 5, 5 ) beats ( 0, 8, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: f: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          nothing 
+
+  to arguments
+          Cast of:
+        Variable Expression: x: signed int 
+
+      to:
+        float 
+
+          Variable Expression: y: float 
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to float 
+        float 
+      returning 
+        float 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> float 
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+    instance of type U (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+          instance of type _0_T (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+          _2_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _2_U (not function type) 
+                    instance of type _2_U (not function type) 
+                  returning 
+                    instance of type _2_U (not function type) 
+
+
+        function
+        with parameters
+          instance of type _1_T (not function type) 
+          instance of type _2_U (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is z
+decl is z: pointer to signed int 
+newExpr is Variable Expression: z: pointer to signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+nameExpr is w
+decl is w: pointer to float 
+newExpr is Variable Expression: w: pointer to float 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: w: pointer to float 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: w: pointer to float 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+              instance of type U (not function type) 
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _1_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_T (not function type) 
+                            instance of type _1_T (not function type) 
+                          returning 
+                            instance of type _1_T (not function type) 
+
+
+                  _2_U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _2_U (not function type) 
+                            instance of type _2_U (not function type) 
+                          returning 
+                            instance of type _2_U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _1_T (not function type) 
+                  instance of type _2_U (not function type) 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is instance of type _1_T (not function type) 
+actual type is lvalue pointer to signed int 
+formal type is instance of type _2_U (not function type) 
+actual type is lvalue pointer to float 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _2_U (not function type) 
+            instance of type _2_U (not function type) 
+          returning 
+            instance of type _2_U (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+success!
+satisfying assertion 56 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with declaration 17 ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+success!
+satisfying assertion 52 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 13 ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                  instance of type _0_T (not function type) 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue pointer to signed int 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue pointer to float 
+actual expression:
+        Variable Expression: z: pointer to signed int 
+--- results are
+        lvalue pointer to signed int 
+
+converting lvalue pointer to signed int 
+ to instance of type _1_T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: w: pointer to float 
+--- results are
+        lvalue pointer to float 
+
+converting lvalue pointer to float 
+ to instance of type _2_U (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to pointer to signed int 
+            pointer to signed int 
+          returning 
+            pointer to signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to pointer to float 
+            pointer to float 
+          returning 
+            pointer to float 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _2_U (not function type) 
+            instance of type _2_U (not function type) 
+          returning 
+            instance of type _2_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _1_T (not function type) 
+        instance of type _2_U (not function type) 
+actuals are:
+                  Variable Expression: z: pointer to signed int 
+
+                  Variable Expression: w: pointer to float 
+
+bindings are:
+        ( _1_T ) -> pointer to signed int 
+        ( _2_U ) -> pointer to float 
+cost of conversion is:( 0, 8, 0 )
+alternatives before prune:
+Cost ( 0, 8, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+        instance of type U (not function type) 
+      returning 
+        nothing 
+
+to arguments
+      Variable Expression: z: pointer to signed int 
+
+      Variable Expression: w: pointer to float 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+  ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+)
+Environment:   ( _1_T ) -> pointer to signed int 
+  ( _2_U ) -> pointer to float 
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: f: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+          U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type U (not function type) 
+                    instance of type U (not function type) 
+                  returning 
+                    instance of type U (not function type) 
+
+
+        function
+        with parameters
+          instance of type T (not function type) 
+          instance of type U (not function type) 
+        returning 
+          nothing 
+
+  to arguments
+          Variable Expression: z: pointer to signed int 
+
+          Variable Expression: w: pointer to float 
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to pointer to signed int 
+        pointer to signed int 
+      returning 
+        pointer to signed int 
+
+    ?=?: function
+      with parameters
+        pointer to pointer to float 
+        pointer to float 
+      returning 
+        pointer to float 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _1_T ) -> pointer to signed int 
+  ( _2_U ) -> pointer to float 
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+    instance of type U (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+          instance of type _0_T (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+          _2_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _2_U (not function type) 
+                    instance of type _2_U (not function type) 
+                  returning 
+                    instance of type _2_U (not function type) 
+
+
+        function
+        with parameters
+          instance of type _1_T (not function type) 
+          instance of type _2_U (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is x
+decl is x: signed int 
+newExpr is Variable Expression: x: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is z
+decl is z: pointer to signed int 
+newExpr is Variable Expression: z: pointer to signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: z: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+              instance of type U (not function type) 
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _1_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_T (not function type) 
+                            instance of type _1_T (not function type) 
+                          returning 
+                            instance of type _1_T (not function type) 
+
+
+                  _2_U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _2_U (not function type) 
+                            instance of type _2_U (not function type) 
+                          returning 
+                            instance of type _2_U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _1_T (not function type) 
+                  instance of type _2_U (not function type) 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is instance of type _1_T (not function type) 
+actual type is lvalue signed int 
+formal type is instance of type _2_U (not function type) 
+actual type is lvalue pointer to signed int 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _2_U (not function type) 
+            instance of type _2_U (not function type) 
+          returning 
+            instance of type _2_U (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 52 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 5 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+success!
+satisfying assertion 56 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with declaration 13 ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_U (not function type) 
+    instance of type _2_U (not function type) 
+  returning 
+    instance of type _2_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                  instance of type _0_T (not function type) 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue signed int 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue pointer to signed int 
+actual expression:
+        Variable Expression: x: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _1_T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: z: pointer to signed int 
+--- results are
+        lvalue pointer to signed int 
+
+converting lvalue pointer to signed int 
+ to instance of type _2_U (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to pointer to signed int 
+            pointer to signed int 
+          returning 
+            pointer to signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _2_U (not function type) 
+            instance of type _2_U (not function type) 
+          returning 
+            instance of type _2_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _1_T (not function type) 
+        instance of type _2_U (not function type) 
+actuals are:
+                  Variable Expression: x: signed int 
+
+                  Variable Expression: z: pointer to signed int 
+
+bindings are:
+        ( _1_T ) -> signed int 
+        ( _2_U ) -> pointer to signed int 
+cost of conversion is:( 0, 8, 0 )
+alternatives before prune:
+Cost ( 0, 8, 0 ): Application of
+  Variable Expression: f: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+        instance of type U (not function type) 
+      returning 
+        nothing 
+
+to arguments
+      Variable Expression: x: signed int 
+
+      Variable Expression: z: pointer to signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+)
+Environment:   ( _1_T ) -> signed int 
+  ( _2_U ) -> pointer to signed int 
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: f: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+          U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type U (not function type) 
+                    instance of type U (not function type) 
+                  returning 
+                    instance of type U (not function type) 
+
+
+        function
+        with parameters
+          instance of type T (not function type) 
+          instance of type U (not function type) 
+        returning 
+          nothing 
+
+  to arguments
+          Variable Expression: x: signed int 
+
+          Variable Expression: z: pointer to signed int 
+
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+    ?=?: function
+      with parameters
+        pointer to pointer to signed int 
+        pointer to signed int 
+      returning 
+        pointer to signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _1_T ) -> signed int 
+  ( _2_U ) -> pointer to signed int 
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is left
+decl is left: instance of type T (not function type) 
+newExpr is Variable Expression: left: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: left: instance of type T (not function type) 
+
+to:
+  instance of type T (not function type) 
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+nameExpr is temp
+decl is temp: instance of type T (not function type) with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: left: instance of type T (not function type) 
+
+  to:
+    instance of type T (not function type) 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: temp: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: temp: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: temp: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: temp: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is left
+decl is left: instance of type T (not function type) 
+newExpr is Variable Expression: left: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Variable Expression: temp: instance of type T (not function type) 
+--- results are
+        pointer to instance of type T (not function type) 
+
+converting pointer to instance of type T (not function type) 
+ to pointer to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: left: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Address of:
+            Variable Expression: temp: instance of type T (not function type) 
+
+                  Variable Expression: left: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: pointer to function
+      with parameters
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Address of:
+      Variable Expression: temp: instance of type T (not function type) 
+
+      Variable Expression: left: instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Address of:
+        Variable Expression: temp: instance of type T (not function type) 
+
+          Variable Expression: left: instance of type T (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+nameExpr is left
+decl is left: instance of type T (not function type) 
+newExpr is Variable Expression: left: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: left: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: left: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: left: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is right
+decl is right: instance of type T (not function type) 
+newExpr is Variable Expression: right: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: right: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: right: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Variable Expression: left: instance of type T (not function type) 
+--- results are
+        pointer to instance of type T (not function type) 
+
+converting pointer to instance of type T (not function type) 
+ to pointer to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: right: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Address of:
+            Variable Expression: left: instance of type T (not function type) 
+
+                  Variable Expression: right: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: pointer to function
+      with parameters
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Address of:
+      Variable Expression: left: instance of type T (not function type) 
+
+      Variable Expression: right: instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Address of:
+        Variable Expression: left: instance of type T (not function type) 
+
+          Variable Expression: right: instance of type T (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+nameExpr is right
+decl is right: instance of type T (not function type) 
+newExpr is Variable Expression: right: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: right: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: right: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: right: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is temp
+decl is temp: instance of type T (not function type) with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: left: instance of type T (not function type) 
+
+  to:
+    instance of type T (not function type) 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: temp: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: temp: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: temp: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Variable Expression: right: instance of type T (not function type) 
+--- results are
+        pointer to instance of type T (not function type) 
+
+converting pointer to instance of type T (not function type) 
+ to pointer to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: temp: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Address of:
+            Variable Expression: right: instance of type T (not function type) 
+
+                  Variable Expression: temp: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: pointer to function
+      with parameters
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Address of:
+      Variable Expression: right: instance of type T (not function type) 
+
+      Variable Expression: temp: instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Address of:
+        Variable Expression: right: instance of type T (not function type) 
+
+          Variable Expression: temp: instance of type T (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 10 alternatives before elimination
+there are 10 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type P1 (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue instance of type P1 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type P1 (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to instance of type P1 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type P1 (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to instance of type P1 (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type P1 (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of type P1 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type P1 (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of type P1 (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T3 (not function type) 
+              _src: instance of type T3 (not function type) 
+            returning 
+              instance of type T3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T3 (not function type) 
+                  _src: instance of type T3 (not function type) 
+                returning 
+                  instance of type T3 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T2 (not function type) 
+              _src: instance of type T2 (not function type) 
+            returning 
+              instance of type T2 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T2 (not function type) 
+                  _src: instance of type T2 (not function type) 
+                returning 
+                  instance of type T2 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T1 (not function type) 
+              _src: instance of type T1 (not function type) 
+            returning 
+              instance of type T1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T1 (not function type) 
+                  _src: instance of type T1 (not function type) 
+                returning 
+                  instance of type T1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to instance of type P1 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type P1 (not function type) 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 10 alternatives before elimination
+there are 10 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  j: instance of type P2 (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue instance of type P2 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    j: instance of type P2 (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to instance of type P2 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    j: instance of type P2 (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to instance of type P2 (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  j: instance of type P2 (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of type P2 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  j: instance of type P2 (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of type P2 (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T3 (not function type) 
+              _src: instance of type T3 (not function type) 
+            returning 
+              instance of type T3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T3 (not function type) 
+                  _src: instance of type T3 (not function type) 
+                returning 
+                  instance of type T3 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T2 (not function type) 
+              _src: instance of type T2 (not function type) 
+            returning 
+              instance of type T2 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T2 (not function type) 
+                  _src: instance of type T2 (not function type) 
+                returning 
+                  instance of type T2 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T1 (not function type) 
+              _src: instance of type T1 (not function type) 
+            returning 
+              instance of type T1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T1 (not function type) 
+                  _src: instance of type T1 (not function type) 
+                returning 
+                  instance of type T1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to instance of type P2 (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type P2 (not function type) 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type T2 (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 10 alternatives before elimination
+there are 10 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+(types:
+    lvalue pointer to instance of type T2 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type T2 (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type w3 (not function type) 
+    _src: instance of type w3 (not function type) 
+  returning 
+    instance of type w3 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+
+    to:
+      pointer to instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+    Cast of:
+      Variable Expression: _src: instance of type w3 (not function type) 
+
+    to:
+      instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type w3 (not function type) 
+          _src: instance of type w3 (not function type) 
+        returning 
+          instance of type w3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 11 alternatives before elimination
+there are 11 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+(types:
+    lvalue pointer to instance of type w3 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 0
+decl is 0: const instance of type T (not function type) 
+newExpr is Variable Expression: 0: const instance of type T (not function type) 
+
+decl is 0: const instance of type T1 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
+
+decl is 0: const instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+
+decl is 0: const instance of type T3 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: 0: const instance of type T (not function type) 
+
+to:
+  instance of type T (not function type) 
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type T2 (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type w3 (not function type) 
+    _src: instance of type w3 (not function type) 
+  returning 
+    instance of type w3 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+
+    to:
+      pointer to instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+    Cast of:
+      Variable Expression: _src: instance of type w3 (not function type) 
+
+    to:
+      instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type w3 (not function type) 
+          _src: instance of type w3 (not function type) 
+        returning 
+          instance of type w3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 12 alternatives before elimination
+there are 12 alternatives after elimination
+nameExpr is total
+decl is total: instance of type T (not function type) with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: 0: const instance of type T (not function type) 
+
+  to:
+    instance of type T (not function type) 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: total: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: total: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: total: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: total: instance of type T (not function type) 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: const instance of type T (not function type) 
+newExpr is Variable Expression: 0: const instance of type T (not function type) 
+
+decl is 0: const instance of type T1 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
+
+decl is 0: const instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+
+decl is 0: const instance of type T3 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to char 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to signed int 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to float 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type w3 (not function type) 
+              _src: instance of type w3 (not function type) 
+            returning 
+              instance of type w3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type w3 (not function type) 
+                  _src: instance of type w3 (not function type) 
+                returning 
+                  instance of type w3 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T3 (not function type) 
+              _src: instance of type T3 (not function type) 
+            returning 
+              instance of type T3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T3 (not function type) 
+                  _src: instance of type T3 (not function type) 
+                returning 
+                  instance of type T3 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T2 (not function type) 
+              _src: instance of type T2 (not function type) 
+            returning 
+              instance of type T2 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T2 (not function type) 
+                  _src: instance of type T2 (not function type) 
+                returning 
+                  instance of type T2 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T1 (not function type) 
+              _src: instance of type T1 (not function type) 
+            returning 
+              instance of type T1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T1 (not function type) 
+                  _src: instance of type T1 (not function type) 
+                returning 
+                  instance of type T1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is const lvalue instance of type T3 (not function type) 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is const lvalue instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is const lvalue instance of type T1 (not function type) 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is const lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Variable Expression: total: instance of type T (not function type) 
+--- results are
+        pointer to instance of type T (not function type) 
+
+converting pointer to instance of type T (not function type) 
+ to pointer to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: const instance of type T (not function type) 
+--- results are
+        const lvalue instance of type T (not function type) 
+
+converting const lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Address of:
+            Variable Expression: total: instance of type T (not function type) 
+
+                  Variable Expression: 0: const instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: pointer to function
+      with parameters
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Address of:
+      Variable Expression: total: instance of type T (not function type) 
+
+      Variable Expression: 0: const instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Address of:
+        Variable Expression: total: instance of type T (not function type) 
+
+          Variable Expression: 0: const instance of type T (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type T2 (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type w3 (not function type) 
+    _src: instance of type w3 (not function type) 
+  returning 
+    instance of type w3 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+
+    to:
+      pointer to instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+    Cast of:
+      Variable Expression: _src: instance of type w3 (not function type) 
+
+    to:
+      instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type w3 (not function type) 
+          _src: instance of type w3 (not function type) 
+        returning 
+          instance of type w3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 12 alternatives before elimination
+there are 12 alternatives after elimination
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: i: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: i: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: const instance of type T (not function type) 
+newExpr is Variable Expression: 0: const instance of type T (not function type) 
+
+decl is 0: const instance of type T1 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
+
+decl is 0: const instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+
+decl is 0: const instance of type T3 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is const lvalue instance of type T3 (not function type) 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is const lvalue instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is const lvalue instance of type T1 (not function type) 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is const lvalue instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to signed int 
+formal type is pointer to float 
+actual type is pointer to signed int 
+formal type is pointer to float 
+actual type is pointer to signed int 
+formal type is pointer to float 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to signed int 
+formal type is pointer to char 
+actual type is pointer to signed int 
+formal type is pointer to char 
+actual type is pointer to signed int 
+formal type is pointer to char 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to signed int 
+              pointer to signed int 
+            returning 
+              pointer to signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to signed int 
+                  pointer to signed int 
+                returning 
+                  pointer to signed int 
+
+)
+        Environment: 
+formal type is pointer to pointer to signed int 
+actual type is pointer to signed int 
+formal type is pointer to pointer to signed int 
+actual type is pointer to signed int 
+formal type is pointer to pointer to signed int 
+actual type is pointer to signed int 
+formal type is pointer to pointer to signed int 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to float 
+              pointer to float 
+            returning 
+              pointer to float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to float 
+                  pointer to float 
+                returning 
+                  pointer to float 
+
+)
+        Environment: 
+formal type is pointer to pointer to float 
+actual type is pointer to signed int 
+formal type is pointer to pointer to float 
+actual type is pointer to signed int 
+formal type is pointer to pointer to float 
+actual type is pointer to signed int 
+formal type is pointer to pointer to float 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to pointer to function
+                  returning 
+                    nothing 
+
+              pointer to function
+                  returning 
+                    nothing 
+
+            returning 
+              pointer to function
+                  returning 
+                    nothing 
+
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to pointer to function
+                      returning 
+                        nothing 
+
+                  pointer to function
+                      returning 
+                        nothing 
+
+                returning 
+                  pointer to function
+                      returning 
+                        nothing 
+
+
+)
+        Environment: 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to signed int 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to signed int 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to signed int 
+formal type is pointer to pointer to function
+  returning 
+    nothing 
+
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type w3 (not function type) 
+              _src: instance of type w3 (not function type) 
+            returning 
+              instance of type w3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type w3 (not function type) 
+                  _src: instance of type w3 (not function type) 
+                returning 
+                  instance of type w3 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type w3 (not function type) 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T3 (not function type) 
+              _src: instance of type T3 (not function type) 
+            returning 
+              instance of type T3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T3 (not function type) 
+                  _src: instance of type T3 (not function type) 
+                returning 
+                  instance of type T3 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T3 (not function type) 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T2 (not function type) 
+              _src: instance of type T2 (not function type) 
+            returning 
+              instance of type T2 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T2 (not function type) 
+                  _src: instance of type T2 (not function type) 
+                returning 
+                  instance of type T2 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T2 (not function type) 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type T1 (not function type) 
+              _src: instance of type T1 (not function type) 
+            returning 
+              instance of type T1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type T1 (not function type) 
+                  _src: instance of type T1 (not function type) 
+                returning 
+                  instance of type T1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T1 (not function type) 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type T (not function type) 
+actual type is pointer to signed int 
+nameExpr is total
+decl is total: instance of type T (not function type) with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: 0: const instance of type T (not function type) 
+
+  to:
+    instance of type T (not function type) 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: total: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: total: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: total: instance of type T (not function type) 
+
+to:
+  instance of type T (not function type) 
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?+?
+decl is ?+?: function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?+?: function
+    with parameters
+      instance of type T1 (not function type) 
+      instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?+?: function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+newExpr is Variable Expression: ?+?: function
+    with parameters
+      instance of type T2 (not function type) 
+        with parameters
+          instance of type P1 (not function type) 
+          instance of type P2 (not function type) 
+
+      instance of type T2 (not function type) 
+        with parameters
+          instance of type P1 (not function type) 
+          instance of type P2 (not function type) 
+
+    returning 
+      instance of type T2 (not function type) 
+        with parameters
+          instance of type P1 (not function type) 
+          instance of type P2 (not function type) 
+
+
+
+decl is ?+?: function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?+?: function
+    with parameters
+      instance of type T3 (not function type) 
+      instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?+?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?+?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
+    with parameters
+      instance of type T1 (not function type) 
+      instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          instance of type T1 (not function type) 
+          instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
+    with parameters
+      instance of type T2 (not function type) 
+        with parameters
+          instance of type P1 (not function type) 
+          instance of type P2 (not function type) 
+
+      instance of type T2 (not function type) 
+        with parameters
+          instance of type P1 (not function type) 
+          instance of type P2 (not function type) 
+
+    returning 
+      instance of type T2 (not function type) 
+        with parameters
+          instance of type P1 (not function type) 
+          instance of type P2 (not function type) 
+
+
+(types:
+    pointer to function
+        with parameters
+          instance of type T2 (not function type) 
+            with parameters
+              instance of type P1 (not function type) 
+              instance of type P2 (not function type) 
+
+          instance of type T2 (not function type) 
+            with parameters
+              instance of type P1 (not function type) 
+              instance of type P2 (not function type) 
+
+        returning 
+          instance of type T2 (not function type) 
+            with parameters
+              instance of type P1 (not function type) 
+              instance of type P2 (not function type) 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
+    with parameters
+      instance of type T3 (not function type) 
+      instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          instance of type T3 (not function type) 
+          instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+nameExpr is t
+decl is t: instance of type T (not function type) 
+newExpr is Variable Expression: t: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is t
+decl is t: instance of type T (not function type) 
+newExpr is Variable Expression: t: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
+            with parameters
+              instance of type T3 (not function type) 
+              instance of type T3 (not function type) 
+            returning 
+              instance of type T3 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  instance of type T3 (not function type) 
+                  instance of type T3 (not function type) 
+                returning 
+                  instance of type T3 (not function type) 
+
+)
+        Environment: 
+formal type is instance of type T3 (not function type) 
+actual type is lvalue instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
+            with parameters
+              instance of type T2 (not function type) 
+                with parameters
+                  instance of type P1 (not function type) 
+                  instance of type P2 (not function type) 
+
+              instance of type T2 (not function type) 
+                with parameters
+                  instance of type P1 (not function type) 
+                  instance of type P2 (not function type) 
+
+            returning 
+              instance of type T2 (not function type) 
+                with parameters
+                  instance of type P1 (not function type) 
+                  instance of type P2 (not function type) 
+
+
+(types:
+            pointer to function
+                with parameters
+                  instance of type T2 (not function type) 
+                    with parameters
+                      instance of type P1 (not function type) 
+                      instance of type P2 (not function type) 
+
+                  instance of type T2 (not function type) 
+                    with parameters
+                      instance of type P1 (not function type) 
+                      instance of type P2 (not function type) 
+
+                returning 
+                  instance of type T2 (not function type) 
+                    with parameters
+                      instance of type P1 (not function type) 
+                      instance of type P2 (not function type) 
+
+
+)
+        Environment: 
+formal type is instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+actual type is lvalue instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
+            with parameters
+              instance of type T1 (not function type) 
+              instance of type T1 (not function type) 
+            returning 
+              instance of type T1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  instance of type T1 (not function type) 
+                  instance of type T1 (not function type) 
+                returning 
+                  instance of type T1 (not function type) 
+
+)
+        Environment: 
+formal type is instance of type T1 (not function type) 
+actual type is lvalue instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: t: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: t: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Variable Expression: t: instance of type T (not function type) 
+
+                  Variable Expression: t: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?+?: pointer to function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: t: instance of type T (not function type) 
+
+      Variable Expression: t: instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?+?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      signed int 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?<?
+decl is ?<?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?<?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?<?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      signed int 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is t1
+decl is t1: instance of type T (not function type) 
+newExpr is Variable Expression: t1: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t1: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is t2
+decl is t2: instance of type T (not function type) 
+newExpr is Variable Expression: t2: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t2: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t2: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?<?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              signed int 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: t1: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: t2: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Variable Expression: t1: instance of type T (not function type) 
+
+                  Variable Expression: t2: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?<?: pointer to function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: t1: instance of type T (not function type) 
+
+      Variable Expression: t2: instance of type T (not function type) 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?<?: pointer to function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: t1: instance of type T (not function type) 
+
+      Variable Expression: t2: instance of type T (not function type) 
+
+(types:
+    signed int 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: const instance of type T (not function type) 
+newExpr is Variable Expression: 0: const instance of type T (not function type) 
+
+decl is 0: const instance of type T1 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T1 (not function type) 
+
+decl is 0: const instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+newExpr is Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+
+decl is 0: const instance of type T3 (not function type) 
+newExpr is Variable Expression: 0: const instance of type T3 (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T3 (not function type) 
+(types:
+    const lvalue instance of type T3 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T2 (not function type) 
+  with parameters
+    instance of type P1 (not function type) 
+    instance of type P2 (not function type) 
+
+(types:
+    const lvalue instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T1 (not function type) 
+(types:
+    const lvalue instance of type T1 (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: const instance of type T (not function type) 
+(types:
+    const lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              signed int 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is instance of type T (not function type) 
+actual type is signed int 
+formal type is instance of type T (not function type) 
+actual type is signed int 
+formal type is instance of type T (not function type) 
+actual type is signed int 
+formal type is instance of type T (not function type) 
+actual type is signed int 
+nameExpr is 1
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+constant expression 2 signed int 
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is swap
+decl is swap: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    left: instance of type T (not function type) 
+    right: instance of type T (not function type) 
+  returning 
+    nothing 
+  with body 
+    CompoundStmt
+      Declaration of temp: instance of type T (not function type) with initializer 
+        Simple Initializer:           Cast of:
+            Variable Expression: left: instance of type T (not function type) 
+
+          to:
+            instance of type T (not function type) 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Address of:
+                Variable Expression: temp: instance of type T (not function type) 
+
+                          Variable Expression: left: instance of type T (not function type) 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Address of:
+                Variable Expression: left: instance of type T (not function type) 
+
+                          Variable Expression: right: instance of type T (not function type) 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Address of:
+                Variable Expression: right: instance of type T (not function type) 
+
+                          Variable Expression: temp: instance of type T (not function type) 
+
+          with environment:
+            Types:
+            Non-types:
+
+
+newExpr is Variable Expression: swap: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      left: instance of type T (not function type) 
+      right: instance of type T (not function type) 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: swap: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      left: instance of type T (not function type) 
+      right: instance of type T (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          left: instance of type _0_T (not function type) 
+          right: instance of type _0_T (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+nameExpr is twice
+decl is twice: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        0: const instance of type T (not function type) 
+        ?+?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?++: pointer to function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?+=?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    t: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?+?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: twice: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?+?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?++: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?+=?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: twice: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?+?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?++: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?+=?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              0: const instance of type _0_T (not function type) 
+              ?+?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              ?++: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              ?+=?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          t: instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type T2 (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type w3 (not function type) 
+    _src: instance of type w3 (not function type) 
+  returning 
+    instance of type w3 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+
+    to:
+      pointer to instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+    Cast of:
+      Variable Expression: _src: instance of type w3 (not function type) 
+
+    to:
+      instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T1 (not function type) 
+      _src: instance of type T1 (not function type) 
+    returning 
+      instance of type T1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T1 (not function type) 
+          _src: instance of type T1 (not function type) 
+        returning 
+          instance of type T1 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T2 (not function type) 
+      _src: instance of type T2 (not function type) 
+    returning 
+      instance of type T2 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T2 (not function type) 
+          _src: instance of type T2 (not function type) 
+        returning 
+          instance of type T2 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type T3 (not function type) 
+      _src: instance of type T3 (not function type) 
+    returning 
+      instance of type T3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type T3 (not function type) 
+          _src: instance of type T3 (not function type) 
+        returning 
+          instance of type T3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type w3 (not function type) 
+      _src: instance of type w3 (not function type) 
+    returning 
+      instance of type w3 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type w3 (not function type) 
+          _src: instance of type w3 (not function type) 
+        returning 
+          instance of type w3 (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to function
+          returning 
+            nothing 
+
+      pointer to function
+          returning 
+            nothing 
+
+    returning 
+      pointer to function
+          returning 
+            nothing 
+
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to function
+              returning 
+                nothing 
+
+          pointer to function
+              returning 
+                nothing 
+
+        returning 
+          pointer to function
+              returning 
+                nothing 
+
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to float 
+      pointer to float 
+    returning 
+      pointer to float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to float 
+          pointer to float 
+        returning 
+          pointer to float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to pointer to signed int 
+      pointer to signed int 
+    returning 
+      pointer to signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to pointer to signed int 
+          pointer to signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 12 alternatives before elimination
+there are 12 alternatives after elimination
+nameExpr is f
+decl is f: float 
+newExpr is Variable Expression: f: float 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: f: float 
+(types:
+    pointer to float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: f: float 
+(types:
+    pointer to float 
+)
+Environment: 
+
+nameExpr is min
+decl is min: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        0: const instance of type T (not function type) 
+        ?!=?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              signed int 
+
+        ?<?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              signed int 
+
+
+  function
+  with parameters
+    t1: instance of type T (not function type) 
+    t2: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Conditional expression on: 
+  Cast of:
+    Applying untyped: 
+        Name: ?!=?
+    ...to: 
+        Applying untyped: 
+            Name: ?<?
+        ...to: 
+            Name: t1
+            Name: t2
+        Name: 0
+
+  to:
+    signed int 
+First alternative:
+  Name: t1
+Second alternative:
+  Name: t2
+
+
+
+
+newExpr is Variable Expression: min: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?!=?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                signed int 
+
+          ?<?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                signed int 
+
+
+    function
+    with parameters
+      t1: instance of type T (not function type) 
+      t2: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: min: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?!=?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                signed int 
+
+          ?<?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                signed int 
+
+
+    function
+    with parameters
+      t1: instance of type T (not function type) 
+      t2: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              0: const instance of type _0_T (not function type) 
+              ?!=?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    signed int 
+
+              ?<?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    signed int 
+
+
+        function
+        with parameters
+          t1: instance of type _0_T (not function type) 
+          t2: instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4.0 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 4.0 double (types:
+    double 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3.0 double (types:
+    double 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: min: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                  0: const instance of type T (not function type) 
+                  ?!=?: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        signed int 
+
+                  ?<?: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        signed int 
+
+
+            function
+            with parameters
+              t1: instance of type T (not function type) 
+              t2: instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+                      0: const instance of type _0_T (not function type) 
+                      ?!=?: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            signed int 
+
+                      ?<?: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            signed int 
+
+
+                function
+                with parameters
+                  t1: instance of type _0_T (not function type) 
+                  t2: instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is double 
+formal type is instance of type _0_T (not function type) 
+actual type is double 
+need assertions:
+?!=?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            signed int 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)0: const instance of type _0_T (not function type) (used)?<?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            signed int 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?!=?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?!=?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    signed int 
+ with pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    signed int 
+
+nameExpr is sum
+decl is sum: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        0: const instance of type T (not function type) 
+        ?+?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?++: pointer to function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?+=?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    n: signed int 
+    a: pointer to instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+      Declaration of total: instance of type T (not function type) with initializer 
+        Simple Initializer:           Cast of:
+            Variable Expression: 0: const instance of type T (not function type) 
+
+          to:
+            instance of type T (not function type) 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Address of:
+                Variable Expression: total: instance of type T (not function type) 
+
+                          Variable Expression: 0: const instance of type T (not function type) 
+
+          with environment:
+            Types:
+            Non-types:
+
+      Declaration of i: signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Name: i
+                  Name: 0
+
+          condition: 
+            Cast of:
+              Applying untyped: 
+                  Name: ?!=?
+              ...to: 
+                  Applying untyped: 
+                      Name: ?<?
+                  ...to: 
+                      Name: i
+                      Name: n
+                  Name: 0
+
+            to:
+              signed int 
+
+          increment: 
+            Applying untyped: 
+                Name: ?+=?
+            ...to: 
+                Address of:
+                  Name: i
+                Name: 1
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Address of:
+                        Name: total
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Name: total
+                          Applying untyped: 
+                              Name: ?[?]
+                          ...to: 
+                              Name: a
+                              Name: i
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: total: instance of type T (not function type) 
+
+to:
+  instance of type T (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: sum: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?+?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?++: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?+=?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      n: signed int 
+      a: pointer to instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: sum: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          0: const instance of type T (not function type) 
+          ?+?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?++: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?+=?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      n: signed int 
+      a: pointer to instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              0: const instance of type _0_T (not function type) 
+              ?+?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              ?++: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              ?+=?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          n: signed int 
+          a: pointer to instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is a
+decl is a: array of signed int with dimension of Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+with environment:
+  Types:
+  Non-types:
+
+newExpr is Variable Expression: a: array of signed int with dimension of   Cast of:
+constant expression 10 signed int 
+  to:
+    long unsigned int 
+  with environment:
+    Types:
+    Non-types:
+
+
+decl is a: pointer to instance of type T (not function type) 
+newExpr is Variable Expression: a: pointer to instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: array of signed int with dimension of   Cast of:
+constant expression 10 signed int 
+  to:
+    long unsigned int 
+  with environment:
+    Types:
+    Non-types:
+
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: pointer to instance of type T (not function type) 
+(types:
+    lvalue pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: array of signed int with dimension of   Cast of:
+constant expression 10 signed int 
+  to:
+    long unsigned int 
+  with environment:
+    Types:
+    Non-types:
+
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: pointer to instance of type T (not function type) 
+(types:
+    lvalue pointer to instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: sum: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                  0: const instance of type T (not function type) 
+                  ?+?: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                  ?++: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                  ?+=?: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              n: signed int 
+              a: pointer to instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+                      0: const instance of type _0_T (not function type) 
+                      ?+?: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+                      ?++: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+                      ?+=?: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  n: signed int 
+                  a: pointer to instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+formal type is pointer to instance of type _0_T (not function type) 
+actual type is lvalue pointer to signed int 
+need assertions:
+?+?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)?+=?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)0: const instance of type _0_T (not function type) (used)?++: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?+?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?+?: function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+inferRecursive: candidate is ?+?: function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+inferRecursive: candidate is ?+?: function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+inferRecursive: candidate is ?+?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+formal type is signed int 
+actual type is signed int 
+formal type is pointer to instance of type _0_T (not function type) 
+actual type is lvalue pointer to instance of type T (not function type) 
+need assertions:
+?+?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)?+=?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)0: const instance of type _0_T (not function type) (used)?++: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?+?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?+?: function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+inferRecursive: candidate is ?+?: function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+inferRecursive: candidate is ?+?: function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+inferRecursive: candidate is ?+?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+success!
+satisfying assertion 160 ?+?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 160 ?+?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type P1 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                i: instance of type P1 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  j: instance of type P2 (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                j: instance of type P2 (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type T1 (not function type) 
+    _src: instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type T2 (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type T2 (not function type) 
+    _src: instance of type T2 (not function type) 
+  returning 
+    instance of type T2 (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type T3 (not function type) 
+    _src: instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type w3 (not function type) 
+    _src: instance of type w3 (not function type) 
+  returning 
+    instance of type w3 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+
+    to:
+      pointer to instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+    Cast of:
+      Variable Expression: _src: instance of type w3 (not function type) 
+
+    to:
+      instance of type T2 (not function type) 
+        with parameters
+          signed int 
+          signed int 
+
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type w3 (not function type) 
+    _src: instance of type w3 (not function type) 
+  returning 
+    instance of type w3 (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to function
+        returning 
+          nothing 
+
+    pointer to function
+        returning 
+          nothing 
+
+  returning 
+    pointer to function
+        returning 
+          nothing 
+
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to float 
+    pointer to float 
+  returning 
+    pointer to float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to pointer to signed int 
+    pointer to signed int 
+  returning 
+    pointer to signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+success!
+satisfying assertion 155 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 196 ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+inferRecursive: assertion is ?+=?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?+=?: function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T1 (not function type) 
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+inferRecursive: candidate is ?+=?: function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+inferRecursive: candidate is ?+=?: function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T3 (not function type) 
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+inferRecursive: candidate is ?+=?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+success!
+satisfying assertion 167 ?+=?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 167 ?+=?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+inferRecursive: assertion is 0: const instance of type _0_T (not function type) 
+inferRecursive: candidate is 0: const instance of type T (not function type) 
+unifying const instance of type _0_T (not function type)  with const instance of type T (not function type) 
+success!
+satisfying assertion 156 0: const instance of type _0_T (not function type)  with declaration 197 0: const instance of type T (not function type) 
+inferRecursive: assertion is ?++: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?++: function
+  with parameters
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T1 (not function type) 
+  returning 
+    instance of type T1 (not function type) 
+
+inferRecursive: candidate is ?++: function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+  returning 
+    instance of type T2 (not function type) 
+      with parameters
+        instance of type P1 (not function type) 
+        instance of type P2 (not function type) 
+
+
+inferRecursive: candidate is ?++: function
+  with parameters
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T3 (not function type) 
+  returning 
+    instance of type T3 (not function type) 
+
+inferRecursive: candidate is ?++: pointer to function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+success!
+satisfying assertion 163 ?++: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 163 ?++: pointer to function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+inferRecursive: candidate is 0: const instance of type T1 (not function type) 
+unifying const instance of type _0_T (not function type)  with const instance of type T1 (not function type) 
+inferRecursive: candidate is 0: const instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+unifying const instance of type _0_T (not function type)  with const instance of type T2 (not function type) 
+with parameters
+  instance of type P1 (not function type) 
+  instance of type P2 (not function type) 
+
+inferRecursive: candidate is 0: const instance of type T3 (not function type) 
+unifying const instance of type _0_T (not function type)  with const instance of type T3 (not function type) 
+actual expression:
+constant expression 10 signed int --- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: a: pointer to instance of type T (not function type) 
+--- results are
+        lvalue pointer to instance of type T (not function type) 
+
+converting lvalue pointer to instance of type T (not function type) 
+ to pointer to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to instance of type T (not function type) 
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting const instance of type T (not function type) 
+ to const instance of type _0_T (not function type) 
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            instance of type T (not function type) 
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            instance of type T (not function type) 
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        n: signed int 
+        a: pointer to instance of type _0_T (not function type) 
+actuals are:
+        constant expression 10 signed int 
+                  Variable Expression: a: pointer to instance of type T (not function type) 
+
+bindings are:
+        ( _0_T ) -> instance of type T (not function type)  (no widening)
+cost of conversion is:( 0, 13, 0 )
+alternatives before prune:
+Cost ( 0, 13, 0 ): Application of
+  Variable Expression: sum: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+            0: const instance of type T (not function type) 
+            ?+?: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+            ?++: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+            ?+=?: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        n: signed int 
+        a: pointer to instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+  constant expression 10 signed int 
+      Variable Expression: a: pointer to instance of type T (not function type) 
+
+with inferred parameters:
+  ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+  0: const instance of type T (not function type) 
+  ?+?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+  ?++: pointer to function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+  ?+=?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> instance of type T (not function type)  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: sum: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+              0: const instance of type T (not function type) 
+              ?+?: pointer to function
+                  with parameters
+                    instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+              ?++: pointer to function
+                  with parameters
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+              ?+=?: pointer to function
+                  with parameters
+                    instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          n: signed int 
+          a: pointer to instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+    constant expression 10 signed int 
+          Variable Expression: a: pointer to instance of type T (not function type) 
+
+  with inferred parameters:
+    ?=?: pointer to function
+      with parameters
+        pointer to instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+    0: const instance of type T (not function type) 
+    ?+?: pointer to function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+    ?++: pointer to function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+    ?+=?: pointer to function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> instance of type T (not function type)  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: instance of type P1 (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      i: instance of type P1 (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        j: instance of type P2 (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      j: instance of type P2 (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type T2 (not function type) 
+
+to:
+  pointer to instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type w3 (not function type) 
+
+to:
+  pointer to instance of type T2 (not function type) 
+    with parameters
+      signed int 
+      signed int 
+
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: i
+    Name: 0
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?!=?
+...to: 
+    Applying untyped: 
+        Name: ?<?
+    ...to: 
+        Name: t1
+        Name: t2
+    Name: 0
+
+Error: No reasonable alternatives for expression Name: 1
+
+Error: No reasonable alternatives for expression Name: x
+
+Error: No reasonable alternatives for expression Name: x
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: min
+...to: 
+constant expression 4.0 double constant expression 3.0 double 
Index: src/Tests/Expect-r/Function.txt
===================================================================
--- src/Tests/Expect-r/Function.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Function.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,4957 @@
+nameExpr is f
+decl is f: function
+  with parameters
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      float 
+    returning 
+      float 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: float 
+newExpr is Variable Expression: a: float 
+
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: a: signed int 
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: a: signed int 
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is float 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Cast of:
+          Variable Expression: a: signed int 
+
+        to:
+          signed int 
+--- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: a: signed int 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Cast of:
+          Variable Expression: a: signed int 
+
+        to:
+          signed int 
+--- results are
+        signed int 
+
+converting signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Cast of:
+            Cast of:
+              Variable Expression: a: signed int 
+
+            to:
+              signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 5 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: signed int 
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 5 ): Application of
+  Variable Expression: f: function
+      with parameters
+        float 
+      returning 
+        float 
+
+to arguments
+      Cast of:
+      Cast of:
+        Variable Expression: a: signed int 
+
+      to:
+        signed int 
+
+    to:
+      float 
+
+(types:
+    float 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: f: function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Cast of:
+        Variable Expression: a: signed int 
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: function
+  with parameters
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      float 
+    returning 
+      float 
+
+
+decl is f: function
+  with parameters
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: float 
+newExpr is Variable Expression: a: float 
+
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is float 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: a: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: a: float 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Cast of:
+            Variable Expression: a: signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 5 )
+actual expression:
+        Variable Expression: a: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Variable Expression: a: float 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: float 
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 5 ): Application of
+  Variable Expression: f: function
+      with parameters
+        float 
+      returning 
+        float 
+
+to arguments
+      Cast of:
+      Variable Expression: a: signed int 
+
+    to:
+      float 
+
+(types:
+    float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        float 
+      returning 
+        float 
+
+to arguments
+      Variable Expression: a: float 
+
+(types:
+    float 
+)
+Environment: 
+
+cost ( 0, 0, 0 ) beats ( 0, 0, 5 )
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: f: function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Cast of:
+    Application of
+      Variable Expression: f: function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+    to arguments
+              Variable Expression: a: signed int 
+
+
+  to:
+    signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is r
+decl is r: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+    signed int 
+
+newExpr is Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is p
+decl is p: tuple of types
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+
+
+decl is p: tuple of types
+  signed int 
+  double 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+
+decl is p: tuple of types
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+
+decl is p: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+(types:
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+(types:
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is q
+decl is q: tuple of types
+  char 
+
+newExpr is Variable Expression: q: tuple of types
+    char 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  float 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+actual expression:
+        Variable Expression: p: tuple of types
+            signed int 
+
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+            float 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue float 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: p: tuple of types
+              signed int 
+
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+                float 
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: p: tuple of types
+            signed int 
+            double 
+
+--- results are
+        lvalue signed int 
+        lvalue double 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue double 
+ to signed int 
+cost is( 1, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: p: tuple of types
+                signed int 
+                double 
+
+
+          to:
+            signed int 
+            signed int 
+
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: p: tuple of types
+            signed int 
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            char 
+
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: p: tuple of types
+              signed int 
+              signed int 
+              signed int 
+
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                char 
+
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 4 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          signed int 
+          signed int 
+          float 
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: p: tuple of types
+          signed int 
+          double 
+
+
+    to:
+      signed int 
+      signed int 
+
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 4 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          char 
+
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+marking ambiguous
+cost ( 0, 0, 4 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Application of
+    Variable Expression: r: function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+  to arguments
+          Variable Expression: p: tuple of types
+          signed int 
+          signed int 
+          signed int 
+
+
+          Cast of:
+        Variable Expression: q: tuple of types
+            char 
+
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is r
+decl is r: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+    signed int 
+
+newExpr is Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is q
+decl is q: tuple of types
+  char 
+
+newExpr is Variable Expression: q: tuple of types
+    char 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  float 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is p
+decl is p: tuple of types
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+
+
+decl is p: tuple of types
+  signed int 
+  double 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+
+decl is p: tuple of types
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+
+decl is p: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+(types:
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+(types:
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+)
+Environment: 
+
+marking ambiguous
+there are 15 alternatives before elimination
+there are 14 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+        float 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+        double 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: q: tuple of types
+        char 
+
+
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+(types:
+    lvalue char 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+actual expression:
+        Tuple:
+                      Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+
+
+                      Variable Expression: p: tuple of types
+                signed int 
+                double 
+
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue signed int 
+        lvalue double 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue double 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Tuple:
+                              Variable Expression: q: tuple of types
+                    signed int 
+                    signed int 
+
+
+                              Variable Expression: p: tuple of types
+                    signed int 
+                    double 
+
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Tuple:
+                      Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+                float 
+
+
+                      Variable Expression: p: tuple of types
+                signed int 
+
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue float 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Tuple:
+                              Variable Expression: q: tuple of types
+                    signed int 
+                    signed int 
+                    float 
+
+
+                              Variable Expression: p: tuple of types
+                    signed int 
+
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Tuple:
+                      Variable Expression: q: tuple of types
+                char 
+
+
+                      Variable Expression: p: tuple of types
+                signed int 
+                signed int 
+                signed int 
+
+
+--- results are
+        lvalue char 
+        lvalue signed int 
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Tuple:
+                              Variable Expression: q: tuple of types
+                    char 
+
+
+                              Variable Expression: p: tuple of types
+                    signed int 
+                    signed int 
+                    signed int 
+
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 4 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Tuple:
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+                  Variable Expression: p: tuple of types
+              signed int 
+              double 
+
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Tuple:
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+              float 
+
+
+                  Variable Expression: p: tuple of types
+              signed int 
+
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 4 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Tuple:
+                  Variable Expression: q: tuple of types
+              char 
+
+
+                  Variable Expression: p: tuple of types
+              signed int 
+              signed int 
+              signed int 
+
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+marking ambiguous
+cost ( 0, 0, 4 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Application of
+    Variable Expression: r: function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+  to arguments
+          Cast of:
+        Tuple:
+                      Variable Expression: q: tuple of types
+                char 
+
+
+                      Variable Expression: p: tuple of types
+                signed int 
+                signed int 
+                signed int 
+
+
+
+      to:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is r
+decl is r: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+    signed int 
+
+newExpr is Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is r
+decl is r: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+    signed int 
+
+newExpr is Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is p
+decl is p: tuple of types
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+
+
+decl is p: tuple of types
+  signed int 
+  double 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+
+decl is p: tuple of types
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+
+decl is p: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+(types:
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+    double 
+
+(types:
+    lvalue signed int 
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: p: tuple of types
+    signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is q
+decl is q: tuple of types
+  char 
+
+newExpr is Variable Expression: q: tuple of types
+    char 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  float 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue double 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+actual expression:
+        Variable Expression: p: tuple of types
+            signed int 
+
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+            float 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue float 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: p: tuple of types
+              signed int 
+
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+                float 
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: p: tuple of types
+            signed int 
+            double 
+
+--- results are
+        lvalue signed int 
+        lvalue double 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue double 
+ to signed int 
+cost is( 1, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: p: tuple of types
+                signed int 
+                double 
+
+
+          to:
+            signed int 
+            signed int 
+
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: p: tuple of types
+            signed int 
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            char 
+
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: p: tuple of types
+              signed int 
+              signed int 
+              signed int 
+
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                char 
+
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 4 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: p: tuple of types
+        signed int 
+
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          signed int 
+          signed int 
+          float 
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: p: tuple of types
+          signed int 
+          double 
+
+
+    to:
+      signed int 
+      signed int 
+
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 4 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          char 
+
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+marking ambiguous
+cost ( 0, 0, 4 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 4 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: p: tuple of types
+        signed int 
+        signed int 
+        signed int 
+
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          char 
+
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+nameExpr is r
+decl is r: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+    signed int 
+
+newExpr is Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: r: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is q
+decl is q: tuple of types
+  char 
+
+newExpr is Variable Expression: q: tuple of types
+    char 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  float 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is q
+decl is q: tuple of types
+  char 
+
+newExpr is Variable Expression: q: tuple of types
+    char 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  float 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+
+decl is q: tuple of types
+  signed int 
+  signed int 
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+    float 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: tuple of types
+    char 
+
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue char 
+actual expression:
+        Variable Expression: q: tuple of types
+            char 
+
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+            float 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue float 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: q: tuple of types
+                char 
+
+
+          to:
+            signed int 
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+                float 
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 4 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+            float 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+        lvalue float 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+actual expression:
+        Variable Expression: q: tuple of types
+            char 
+
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+                float 
+
+
+          to:
+            signed int 
+            signed int 
+            signed int 
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                char 
+
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 4 )
+alternatives before prune:
+Cost ( 1, 0, 4 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: q: tuple of types
+          char 
+
+
+    to:
+      signed int 
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          signed int 
+          signed int 
+          float 
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+Cost ( 1, 0, 4 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: q: tuple of types
+          signed int 
+          signed int 
+          float 
+
+
+    to:
+      signed int 
+      signed int 
+      signed int 
+
+      Cast of:
+      Variable Expression: q: tuple of types
+          char 
+
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+cost ( 0, 0, 0 ) beats ( 1, 0, 4 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+      Variable Expression: q: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+formal type is signed int 
+actual type is signed int 
+formal type is signed int 
+actual type is signed int 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Application of
+          Variable Expression: r: function
+              with parameters
+                signed int 
+                signed int 
+                signed int 
+                signed int 
+              returning 
+                signed int 
+                signed int 
+
+        to arguments
+                      Variable Expression: p: tuple of types
+                signed int 
+                signed int 
+                signed int 
+
+
+                      Cast of:
+              Variable Expression: q: tuple of types
+                  char 
+
+
+            to:
+              signed int 
+
+--- results are
+        signed int 
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Application of
+          Variable Expression: r: function
+              with parameters
+                signed int 
+                signed int 
+                signed int 
+                signed int 
+              returning 
+                signed int 
+                signed int 
+
+        to arguments
+                      Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+
+
+                      Variable Expression: q: tuple of types
+                signed int 
+                signed int 
+
+
+--- results are
+        signed int 
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Application of
+            Variable Expression: r: function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+          to arguments
+                          Variable Expression: p: tuple of types
+                  signed int 
+                  signed int 
+                  signed int 
+
+
+                          Cast of:
+                Variable Expression: q: tuple of types
+                    char 
+
+
+              to:
+                signed int 
+
+
+                  Application of
+            Variable Expression: r: function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+          to arguments
+                          Variable Expression: q: tuple of types
+                  signed int 
+                  signed int 
+
+
+                          Variable Expression: q: tuple of types
+                  signed int 
+                  signed int 
+
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: r: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+        signed int 
+
+to arguments
+      Application of
+      Variable Expression: r: function
+          with parameters
+            signed int 
+            signed int 
+            signed int 
+            signed int 
+          returning 
+            signed int 
+            signed int 
+
+    to arguments
+              Variable Expression: p: tuple of types
+            signed int 
+            signed int 
+            signed int 
+
+
+              Cast of:
+          Variable Expression: q: tuple of types
+              char 
+
+
+        to:
+          signed int 
+
+
+      Application of
+      Variable Expression: r: function
+          with parameters
+            signed int 
+            signed int 
+            signed int 
+            signed int 
+          returning 
+            signed int 
+            signed int 
+
+    to arguments
+              Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+
+
+              Variable Expression: q: tuple of types
+            signed int 
+            signed int 
+
+
+
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Application of
+    Variable Expression: r: function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+          signed int 
+
+  to arguments
+          Application of
+        Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+      to arguments
+                  Variable Expression: p: tuple of types
+              signed int 
+              signed int 
+              signed int 
+
+
+                  Cast of:
+            Variable Expression: q: tuple of types
+                char 
+
+
+          to:
+            signed int 
+
+
+          Application of
+        Variable Expression: r: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+              signed int 
+
+      to arguments
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+                  Variable Expression: q: tuple of types
+              signed int 
+              signed int 
+
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+cfa-cpp: GenPoly/Box.cc:398: void GenPoly::{anonymous}::Pass1::boxParams(ApplicationExpr*, FunctionType*, std::list<Expression*>::iterator&, const TyVarMap&): Assertion `arg != appExpr->get_args().end()' failed.
+Aborted (core dumped)
Index: src/Tests/Expect-r/Functions.txt
===================================================================
--- src/Tests/Expect-r/Functions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Functions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,91 @@
+nameExpr is *?
+nameExpr is g
+decl is g: pointer to function
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: pointer to function
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: pointer to function
+    returning 
+      nothing 
+
+(types:
+    lvalue pointer to function
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: pointer to function
+            returning 
+              nothing 
+
+(types:
+            lvalue pointer to function
+                returning 
+                  nothing 
+
+)
+        Environment: 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+Case +++++++++++++
+formals are:
+actuals are:
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: pointer to function
+      returning 
+        nothing 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: pointer to function
+        returning 
+          nothing 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+Error: No reasonable alternatives for expression Name: *?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
Index: src/Tests/Expect-r/GccExtensions.txt
===================================================================
--- src/Tests/Expect-r/GccExtensions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/GccExtensions.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,908 @@
+nameExpr is s1
+decl is s1: signed int 
+newExpr is Variable Expression: s1: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: s1: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: s1: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is s1
+decl is s1: signed int 
+newExpr is Variable Expression: s1: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: s1: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: s1: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s2 
+    _src: instance of struct s2 
+  returning 
+    instance of struct s2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct s2 
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s2 
+      _src: instance of struct s2 
+    returning 
+      instance of struct s2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s2 
+      _src: instance of struct s2 
+    returning 
+      instance of struct s2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s2 
+          _src: instance of struct s2 
+        returning 
+          instance of struct s2 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct s2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s2 
+              _src: instance of struct s2 
+            returning 
+              instance of struct s2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s2 
+                  _src: instance of struct s2 
+                returning 
+                  instance of struct s2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s2 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s2 
+(types:
+    lvalue instance of struct s2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct s2 
+
+to:
+  instance of struct s2 
+(types:
+    instance of struct s2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s2 
+    _src: instance of struct s2 
+  returning 
+    instance of struct s2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct s2 
+
+to:
+  instance of struct s2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s2 
+      _src: instance of struct s2 
+    returning 
+      instance of struct s2 
+
+
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s3 
+    _src: instance of struct s3 
+  returning 
+    instance of struct s3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s3 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s3 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct s3 
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s3 
+      _src: instance of struct s3 
+    returning 
+      instance of struct s3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s2 
+      _src: instance of struct s2 
+    returning 
+      instance of struct s2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s2 
+          _src: instance of struct s2 
+        returning 
+          instance of struct s2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s3 
+      _src: instance of struct s3 
+    returning 
+      instance of struct s3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s3 
+          _src: instance of struct s3 
+        returning 
+          instance of struct s3 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct s3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s3 
+              _src: instance of struct s3 
+            returning 
+              instance of struct s3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s3 
+                  _src: instance of struct s3 
+                returning 
+                  instance of struct s3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s2 
+              _src: instance of struct s2 
+            returning 
+              instance of struct s2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s2 
+                  _src: instance of struct s2 
+                returning 
+                  instance of struct s2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s2 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s3 
+(types:
+    lvalue instance of struct s3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct s3 
+
+to:
+  instance of struct s3 
+(types:
+    instance of struct s3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s2 
+    _src: instance of struct s2 
+  returning 
+    instance of struct s2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s2 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct s2 
+
+to:
+  instance of struct s2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s2 
+      _src: instance of struct s2 
+    returning 
+      instance of struct s2 
+
+
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s3 
+    _src: instance of struct s3 
+  returning 
+    instance of struct s3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s3 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct s3 
+
+to:
+  instance of struct s3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s3 
+      _src: instance of struct s3 
+    returning 
+      instance of struct s3 
+
+
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct s4 
+    _src: instance of struct s4 
+  returning 
+    instance of struct s4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct s4 
+              Member Expression, with field: 
+                i: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct s4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct s4 
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s4 
+      _src: instance of struct s4 
+    returning 
+      instance of struct s4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s2 
+      _src: instance of struct s2 
+    returning 
+      instance of struct s2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s2 
+          _src: instance of struct s2 
+        returning 
+          instance of struct s2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s3 
+      _src: instance of struct s3 
+    returning 
+      instance of struct s3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s3 
+          _src: instance of struct s3 
+        returning 
+          instance of struct s3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct s4 
+      _src: instance of struct s4 
+    returning 
+      instance of struct s4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct s4 
+          _src: instance of struct s4 
+        returning 
+          instance of struct s4 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct s4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct s4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct s4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s4 
+              _src: instance of struct s4 
+            returning 
+              instance of struct s4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s4 
+                  _src: instance of struct s4 
+                returning 
+                  instance of struct s4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s3 
+              _src: instance of struct s3 
+            returning 
+              instance of struct s3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s3 
+                  _src: instance of struct s3 
+                returning 
+                  instance of struct s3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct s2 
+              _src: instance of struct s2 
+            returning 
+              instance of struct s2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct s2 
+                  _src: instance of struct s2 
+                returning 
+                  instance of struct s2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct s2 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s4 
+(types:
+    lvalue instance of struct s4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct s4 
+
+to:
+  instance of struct s4 
+(types:
+    instance of struct s4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct s2 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct s2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct s3 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct s3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct s4 
+    Member Expression, with field: 
+      i: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct s4 
+
Index: src/Tests/Expect-r/IdentFuncDeclarator.txt
===================================================================
--- src/Tests/Expect-r/IdentFuncDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/IdentFuncDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,583 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int main(){
+    int __f1__i;
+    int __f2__i;
+    int *__f3__Pi;
+    int **__f4__PPi;
+    int *const *__f5__PCPi;
+    int *const *const __f6__CPCPi;
+    int *__f7__Pi;
+    int **__f8__PPi;
+    int *const *__f9__PCPi;
+    int *const *const __f10__CPCPi;
+    int *__f11__Pi;
+    int **__f12__PPi;
+    int *const *__f13__PCPi;
+    int *const *const __f14__CPCPi;
+    int __f15__A0i[];
+    int __f16__A0i[((long unsigned int )10)];
+    int __f17__A0i[];
+    int __f18__A0i[((long unsigned int )10)];
+    int *__f19__A0Pi[];
+    int *__f20__A0Pi[((long unsigned int )10)];
+    int **__f21__A0PPi[];
+    int **__f22__A0PPi[((long unsigned int )10)];
+    int *const *__f23__A0PCPi[];
+    int *const *__f24__A0PCPi[((long unsigned int )10)];
+    int *const *const __f25__A0CPCPi[];
+    int *const *const __f26__A0CPCPi[((long unsigned int )10)];
+    int *__f27__A0Pi[];
+    int *__f28__A0Pi[((long unsigned int )10)];
+    int **__f29__A0PPi[];
+    int **__f30__A0PPi[((long unsigned int )10)];
+    int *const *__f31__A0PCPi[];
+    int *const *__f32__A0PCPi[((long unsigned int )10)];
+    int *const *const __f33__A0CPCPi[];
+    int *const *const __f34__A0CPCPi[((long unsigned int )10)];
+    int *__f35__A0Pi[];
+    int *__f36__A0Pi[((long unsigned int )10)];
+    int **__f37__A0PPi[];
+    int **__f38__A0PPi[((long unsigned int )10)];
+    int *const *__f39__A0PCPi[];
+    int *const *__f40__A0PCPi[((long unsigned int )10)];
+    int *const *const __f41__A0CPCPi[];
+    int *const *const __f42__A0CPCPi[((long unsigned int )10)];
+    int __f43__A0A0i[][3];
+    int __f44__A0A0i[((long unsigned int )3)][3];
+    int __f45__A0A0i[][3];
+    int __f46__A0A0i[((long unsigned int )3)][3];
+    int __f47__A0A0i[][3];
+    int __f48__A0A0i[((long unsigned int )3)][3];
+    int *__f49__A0A0Pi[][3];
+    int *__f50__A0A0Pi[((long unsigned int )3)][3];
+    int **__f51__A0A0PPi[][3];
+    int **__f52__A0A0PPi[((long unsigned int )3)][3];
+    int *const *__f53__A0A0PCPi[][3];
+    int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
+    int *const *const __f55__A0A0CPCPi[][3];
+    int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
+    int *__f57__A0A0Pi[][3];
+    int *__f58__A0A0Pi[((long unsigned int )3)][3];
+    int **__f59__A0A0PPi[][3];
+    int **__f60__A0A0PPi[((long unsigned int )3)][3];
+    int *const *__f61__A0A0PCPi[][3];
+    int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
+    int *const *const __f63__A0A0CPCPi[][3];
+    int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
+    int __f65__Fi_i_(int );
+    int __f66__Fi_i_(int );
+    int *__f67__FPi_i_(int );
+    int **__f68__FPPi_i_(int );
+    int *const *__f69__FPCPi_i_(int );
+    int *const *const __f70__FCPCPi_i_(int );
+    int *__f71__FPi_i_(int );
+    int **__f72__FPPi_i_(int );
+    int *const *__f73__FPCPi_i_(int );
+    int *const *const __f74__FCPCPi_i_(int );
+    int (*__f75__PFi_i_)(int );
+    int (**__f76__PPFi_i_)(int );
+    int (*const *__f77__PCPFi_i_)(int );
+    int (*const *const __f78__CPCPFi_i_)(int );
+    int (*(*__f79__PFPFi___i_)(int ))();
+    int (*(*const __f80__CPFPFi___i_)(int ))();
+    int (*const (*const __f81__CPFCPFi___i_)(int ))();
+}
Index: src/Tests/Expect-r/IdentFuncParamDeclarator.txt
===================================================================
--- src/Tests/Expect-r/IdentFuncParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/IdentFuncParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,2 @@
+int __fred__Fi_iiPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPiPiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPA0iPA0iPA0iPA0iPA0iPA0iPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPFi_i_PFi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFi_i_PPFi_i_PCPFi_i_CPCPFi_i_PFPFi___i_CPFPFi___i_CPFCPFi___i_CPiCPiPiCPiCPiCPiPiCPiCPPiCPPiPPPiCPPCPiCPCPCPiCPPiCPPiPPPiCPPCPiCPCPCPiCPA0iCPA0iPA0iCPA0iCPA0iCPA0iPA0iCPA0iCPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPiCPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPi_(int __f1__i, int __f2__i, int *__f3__Pi, int **__f4__PPi, int *const *__f5__PCPi, int *const *const __f6__CPCPi, int *__f7__Pi, int **__f8__PPi, int *const *__f9__PCPi, int *const *const __f10__CPCPi, int *__f11__Pi, int **__f12__PPi, int *const *__f13__PCPi, int *const *const __f14__CPCPi, int *__f15__Pi, int __f16__Pi[10], int *__f17__Pi, int __f18__Pi[10], int **__f19__PPi, int *__f20__PPi[10], int ***__f21__PPPi, int **__f22__PPPi[10], int *const **__f23__PPCPi, int *const *__f24__PPCPi[10], int *const *const *__f25__PCPCPi, int *const *const __f26__PCPCPi[10], int **__f27__PPi, int *__f28__PPi[10], int ***__f29__PPPi, int **__f30__PPPi[10], int *const **__f31__PPCPi, int *const *__f32__PPCPi[10], int *const *const *__f33__PCPCPi, int *const *const __f34__PCPCPi[10], int **__f35__PPi, int *__f36__PPi[10], int ***__f37__PPPi, int **__f38__PPPi[10], int *const **__f39__PPCPi, int *const *__f40__PPCPi[10], int *const *const *__f41__PCPCPi, int *const *const __f42__PCPCPi[10], int (*__f43__PA0i)[3], int __f44__PA0i[3][3], int (*__f45__PA0i)[3], int __f46__PA0i[3][3], int (*__f47__PA0i)[3], int __f48__PA0i[3][3], int *(*__f49__PA0Pi)[3], int *__f50__PA0Pi[3][3], int **(*__f51__PA0PPi)[3], int **__f52__PA0PPi[3][3], int *const *(*__f53__PA0PCPi)[3], int *const *__f54__PA0PCPi[3][3], int *const *const (*__f55__PA0CPCPi)[3], int *const *const __f56__PA0CPCPi[3][3], int *(*__f57__PA0Pi)[3], int *__f58__PA0Pi[3][3], int **(*__f59__PA0PPi)[3], int **__f60__PA0PPi[3][3], int *const *(*__f61__PA0PCPi)[3], int *const *__f62__PA0PCPi[3][3], int *const *const (*__f63__PA0CPCPi)[3], int *const *const __f64__PA0CPCPi[3][3], int (*__f65__PFi_i_)(int ), int (*__f66__PFi_i_)(int ), int *(*__f67__PFPi_i_)(int ), int **(*__f68__PFPPi_i_)(int ), int *const *(*__f69__PFPCPi_i_)(int ), int *const *const (*__f70__PFCPCPi_i_)(int ), int *(*__f71__PFPi_i_)(int ), int **(*__f72__PFPPi_i_)(int ), int *const *(*__f73__PFPCPi_i_)(int ), int *const *const (*__f74__PFCPCPi_i_)(int ), int (*__f75__PFi_i_)(int ), int (**__f76__PPFi_i_)(int ), int (*const *__f77__PCPFi_i_)(int ), int (*const *const __f78__CPCPFi_i_)(int ), int (*(*__f79__PFPFi___i_)(int ))(), int (*(*const __f80__CPFPFi___i_)(int ))(), int (*const (*const __f81__CPFCPFi___i_)(int ))(), int __f82__CPi[const *], int __f83__CPi[const 3], int __f84__Pi[static 3], int __f85__CPi[static const 3], int __f86__CPi[const *], int __f87__CPi[const 3], int __f88__Pi[static 3], int __f89__CPi[static const 3], int *__f90__CPPi[const *], int *__f91__CPPi[const 3], int **__f92__PPPi[static 3], int *const *__f93__CPPCPi[static const 3], int *const *const __f94__CPCPCPi[static const 3], int *__f95__CPPi[const *], int *__f96__CPPi[const 3], int **__f97__PPPi[static 3], int *const *__f98__CPPCPi[static const 3], int *const *const __f99__CPCPCPi[static const 3], int __f100__CPA0i[const *][3], int __f101__CPA0i[const 3][3], int __f102__PA0i[static 3][3], int __f103__CPA0i[static const 3][3], int __f104__CPA0i[const *][3], int __f105__CPA0i[const 3][3], int __f106__PA0i[static 3][3], int __f107__CPA0i[static const 3][3], int *__f108__CPA0Pi[const *][3], int *__f109__CPA0Pi[const 3][3], int **__f110__PA0PPi[static 3][3], int *const *__f111__CPA0PCPi[static const 3][3], int *const *const __f112__CPA0CPCPi[static const 3][3], int *__f113__CPA0Pi[const *][3], int *__f114__CPA0Pi[const 3][3], int **__f115__PA0PPi[static 3][3], int *const *__f116__CPA0PCPi[static const 3][3], int *const *const __f117__CPA0CPCPi[static const 3][3]){
+}
Index: src/Tests/Expect-r/InferParam.txt
===================================================================
--- src/Tests/Expect-r/InferParam.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/InferParam.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,2917 @@
+nameExpr is i
+decl is i: function
+  with parameters
+    float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: i: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+        f: pointer to function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+newExpr is Variable Expression: g: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          f: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          f: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+          _1_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_U (not function type) 
+                    instance of type _1_U (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+              f: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _1_U (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  f: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                  _1_U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_U (not function type) 
+                            instance of type _1_U (not function type) 
+                          returning 
+                            instance of type _1_U (not function type) 
+
+                      f: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _1_U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _1_U (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue signed int 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_U (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+(used)f: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+success!
+satisfying assertion 20 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 12 ?=?: function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+inferRecursive: assertion is f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+success!
+satisfying assertion 23 f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 32 f: function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 16 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+success!
+satisfying assertion 20 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 8 ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: assertion is f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+success!
+satisfying assertion 23 f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 29 f: function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 16 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 20 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: assertion is f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to double 
+            double 
+          returning 
+            double 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_U (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            signed int 
+          returning 
+            double 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: a: signed int 
+
+bindings are:
+        ( _0_T ) -> signed int 
+        ( _1_U ) -> double  (no widening)
+cost of conversion is:( 0, 9, 0 )
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_U (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            signed int 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: a: signed int 
+
+bindings are:
+        ( _0_T ) -> signed int 
+        ( _1_U ) -> float  (no widening)
+cost of conversion is:( 0, 9, 0 )
+alternatives before prune:
+Cost ( 0, 9, 0 ): Application of
+  Variable Expression: g: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            f: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: a: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to double 
+      double 
+    returning 
+      double 
+
+  f: function
+    with parameters
+      signed int 
+    returning 
+      double 
+
+(types:
+    instance of type _1_U (not function type) 
+)
+Environment:   ( _0_T ) -> signed int 
+  ( _1_U ) -> double  (no widening)
+
+
+Cost ( 0, 9, 0 ): Application of
+  Variable Expression: g: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            f: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: a: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+  f: function
+    with parameters
+      signed int 
+    returning 
+      float 
+
+(types:
+    instance of type _1_U (not function type) 
+)
+Environment:   ( _0_T ) -> signed int 
+  ( _1_U ) -> float  (no widening)
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 9, 0 ): Application of
+  Variable Expression: g: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            f: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: a: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+  f: function
+    with parameters
+      signed int 
+    returning 
+      float 
+
+(types:
+    float 
+)
+Environment:   ( _0_T ) -> signed int 
+  ( _1_U ) -> float  (no widening)
+
+
+Cost ( 0, 9, 0 ): Application of
+  Variable Expression: g: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            f: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: a: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to double 
+      double 
+    returning 
+      double 
+
+  f: function
+    with parameters
+      signed int 
+    returning 
+      double 
+
+(types:
+    double 
+)
+Environment:   ( _0_T ) -> signed int 
+  ( _1_U ) -> double  (no widening)
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: i: function
+            with parameters
+              float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is float 
+actual type is float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is float 
+actual type is double 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Application of
+          Variable Expression: g: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+                U: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type U (not function type) 
+                          instance of type U (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+                    f: pointer to function
+                        with parameters
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+        to arguments
+                      Variable Expression: a: signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+          ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+          f: function
+            with parameters
+              signed int 
+            returning 
+              float 
+
+--- results are
+        float 
+
+converting float 
+ to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Application of
+            Variable Expression: g: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                  U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type U (not function type) 
+                            instance of type U (not function type) 
+                          returning 
+                            instance of type U (not function type) 
+
+                      f: pointer to function
+                          with parameters
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+          to arguments
+                          Variable Expression: a: signed int 
+
+          with inferred parameters:
+            ?=?: function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+            ?=?: function
+              with parameters
+                pointer to float 
+                float 
+              returning 
+                float 
+
+            f: function
+              with parameters
+                signed int 
+              returning 
+                float 
+
+
+bindings are:
+        ( _0_T ) -> signed int  (no widening)
+        ( _1_U ) -> float  (no widening)
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Application of
+          Variable Expression: g: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+                U: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type U (not function type) 
+                          instance of type U (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+                    f: pointer to function
+                        with parameters
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+        to arguments
+                      Variable Expression: a: signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+          ?=?: function
+            with parameters
+              pointer to double 
+              double 
+            returning 
+              double 
+
+          f: function
+            with parameters
+              signed int 
+            returning 
+              double 
+
+--- results are
+        double 
+
+converting double 
+ to float 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Cast of:
+            Application of
+              Variable Expression: g: forall
+                    T: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type T (not function type) 
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type T (not function type) 
+
+
+                    U: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type U (not function type) 
+                              instance of type U (not function type) 
+                            returning 
+                              instance of type U (not function type) 
+
+                        f: pointer to function
+                            with parameters
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type U (not function type) 
+
+
+                  function
+                  with parameters
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type U (not function type) 
+
+            to arguments
+                              Variable Expression: a: signed int 
+
+            with inferred parameters:
+              ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+              ?=?: function
+                with parameters
+                  pointer to double 
+                  double 
+                returning 
+                  double 
+
+              f: function
+                with parameters
+                  signed int 
+                returning 
+                  double 
+
+
+          to:
+            float 
+
+bindings are:
+        ( _0_T ) -> signed int  (no widening)
+        ( _1_U ) -> double  (no widening)
+cost of conversion is:( 1, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: i: function
+      with parameters
+        float 
+      returning 
+        nothing 
+
+to arguments
+      Application of
+      Variable Expression: g: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+            U: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type U (not function type) 
+                      instance of type U (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+                f: pointer to function
+                    with parameters
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type U (not function type) 
+
+    to arguments
+              Variable Expression: a: signed int 
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+      ?=?: function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+      f: function
+        with parameters
+          signed int 
+        returning 
+          float 
+
+
+(types:
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+  ( _1_U ) -> float  (no widening)
+
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: i: function
+      with parameters
+        float 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Application of
+        Variable Expression: g: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  f: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+      to arguments
+                  Variable Expression: a: signed int 
+
+      with inferred parameters:
+        ?=?: function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+        ?=?: function
+          with parameters
+            pointer to double 
+            double 
+          returning 
+            double 
+
+        f: function
+          with parameters
+            signed int 
+          returning 
+            double 
+
+
+    to:
+      float 
+
+(types:
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+  ( _1_U ) -> double  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: i: function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+  to arguments
+          Application of
+        Variable Expression: g: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  f: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+      to arguments
+                  Variable Expression: a: signed int 
+
+      with inferred parameters:
+        ?=?: function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+        ?=?: function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+        f: function
+          with parameters
+            signed int 
+          returning 
+            float 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+  ( _1_U ) -> float  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is i
+decl is i: function
+  with parameters
+    float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: i: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is k
+decl is k: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+        f: pointer to function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+        j: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+newExpr is Variable Expression: k: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          f: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          j: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: k: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          f: pointer to function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          j: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+          _1_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_U (not function type) 
+                    instance of type _1_U (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+              f: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+              j: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _1_U (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _1_U (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: k: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  f: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  j: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                  _1_U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_U (not function type) 
+                            instance of type _1_U (not function type) 
+                          returning 
+                            instance of type _1_U (not function type) 
+
+                      f: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _1_U (not function type) 
+
+                      j: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                            instance of type _1_U (not function type) 
+                          returning 
+                            instance of type _1_U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _1_U (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is lvalue signed int 
+need assertions:
+j: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+(used)f: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_U (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is j: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is j: function
+  with parameters
+    signed int 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+    float 
+  returning 
+    float 
+
+success!
+satisfying assertion 62 j: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 47 j: function
+  with parameters
+    signed int 
+    float 
+  returning 
+    float 
+
+inferRecursive: assertion is f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    double 
+
+inferRecursive: candidate is f: function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+success!
+satisfying assertion 58 f: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 29 f: function
+  with parameters
+    signed int 
+  returning 
+    float 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+success!
+satisfying assertion 55 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with declaration 8 ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to double 
+    double 
+  returning 
+    double 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 51 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    instance of type _1_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_U (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            signed int 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            signed int 
+            float 
+          returning 
+            float 
+
+ to pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _1_U (not function type) 
+          returning 
+            instance of type _1_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: b: signed int 
+
+bindings are:
+        ( _0_T ) -> signed int 
+        ( _1_U ) -> float  (no widening)
+cost of conversion is:( 0, 12, 0 )
+alternatives before prune:
+Cost ( 0, 12, 0 ): Application of
+  Variable Expression: k: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            f: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            j: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: b: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+  f: function
+    with parameters
+      signed int 
+    returning 
+      float 
+
+  j: function
+    with parameters
+      signed int 
+      float 
+    returning 
+      float 
+
+(types:
+    instance of type _1_U (not function type) 
+)
+Environment:   ( _0_T ) -> signed int 
+  ( _1_U ) -> float  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 12, 0 ): Application of
+  Variable Expression: k: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            f: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            j: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: b: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+  f: function
+    with parameters
+      signed int 
+    returning 
+      float 
+
+  j: function
+    with parameters
+      signed int 
+      float 
+    returning 
+      float 
+
+(types:
+    float 
+)
+Environment:   ( _0_T ) -> signed int 
+  ( _1_U ) -> float  (no widening)
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: i: function
+            with parameters
+              float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is float 
+actual type is float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Application of
+          Variable Expression: k: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+                U: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type U (not function type) 
+                          instance of type U (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+                    f: pointer to function
+                        with parameters
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+                    j: pointer to function
+                        with parameters
+                          instance of type T (not function type) 
+                          instance of type U (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+        to arguments
+                      Variable Expression: b: signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+          ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+          f: function
+            with parameters
+              signed int 
+            returning 
+              float 
+
+          j: function
+            with parameters
+              signed int 
+              float 
+            returning 
+              float 
+
+--- results are
+        float 
+
+converting float 
+ to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Application of
+            Variable Expression: k: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                  U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type U (not function type) 
+                            instance of type U (not function type) 
+                          returning 
+                            instance of type U (not function type) 
+
+                      f: pointer to function
+                          with parameters
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type U (not function type) 
+
+                      j: pointer to function
+                          with parameters
+                            instance of type T (not function type) 
+                            instance of type U (not function type) 
+                          returning 
+                            instance of type U (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+          to arguments
+                          Variable Expression: b: signed int 
+
+          with inferred parameters:
+            ?=?: function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+            ?=?: function
+              with parameters
+                pointer to float 
+                float 
+              returning 
+                float 
+
+            f: function
+              with parameters
+                signed int 
+              returning 
+                float 
+
+            j: function
+              with parameters
+                signed int 
+                float 
+              returning 
+                float 
+
+
+bindings are:
+        ( _0_T ) -> signed int  (no widening)
+        ( _1_U ) -> float  (no widening)
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: i: function
+      with parameters
+        float 
+      returning 
+        nothing 
+
+to arguments
+      Application of
+      Variable Expression: k: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+            U: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type U (not function type) 
+                      instance of type U (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+                f: pointer to function
+                    with parameters
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+                j: pointer to function
+                    with parameters
+                      instance of type T (not function type) 
+                      instance of type U (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type U (not function type) 
+
+    to arguments
+              Variable Expression: b: signed int 
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+      ?=?: function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+      f: function
+        with parameters
+          signed int 
+        returning 
+          float 
+
+      j: function
+        with parameters
+          signed int 
+          float 
+        returning 
+          float 
+
+
+(types:
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+  ( _1_U ) -> float  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: i: function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+  to arguments
+          Application of
+        Variable Expression: k: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  f: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  j: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+      to arguments
+                  Variable Expression: b: signed int 
+
+      with inferred parameters:
+        ?=?: function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+        ?=?: function
+          with parameters
+            pointer to float 
+            float 
+          returning 
+            float 
+
+        f: function
+          with parameters
+            signed int 
+          returning 
+            float 
+
+        j: function
+          with parameters
+            signed int 
+            float 
+          returning 
+            float 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_T ) -> signed int  (no widening)
+  ( _1_U ) -> float  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int ___operator_assign__Fi_Pii_(int *, int );
+float ___operator_assign__Ff_Pff_(float *, float );
+double ___operator_assign__Fd_Pdd_(double *, double );
+void __g__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0__Ft1_t0_(void (*_adapterF2tU_2tT_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, long unsigned int U, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__f__PF2tU_2tT_)(), void *, void *);
+float __f__Ff_i_(int );
+double __f__Fd_i_(int );
+void __i__F_f_(float );
+void __h__F__(){
+    int __a__i;
+    float _temp0;
+    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
+    }
+    void _adapterFf_Pff_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((float *)_ret))=((float (*)(float *, float ))_adaptee)(_p0, (*((float *)_p1))));
+    }
+    void _adapterFf_i_(void (*_adaptee)(), void *_ret, void *_p0){
+        ((*((float *)_ret))=((float (*)(int ))_adaptee)((*((int *)_p0))));
+    }
+    __i__F_f_((__g__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0__Ft1_t0_(_adapterFf_i_, _adapterFf_Pff_, _adapterFi_Pii_, sizeof(int ), sizeof(float ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_assign__Ff_Pff_), ((void (*)())__f__Ff_i_), (&_temp0), (&__a__i)) , _temp0));
+}
+;
+float __j__Ff_if_(int , float );
+void __k__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0___j__PFt1_t0t1__Ft1_t0_(void (*_adapterF2tU_2tT2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tU_2tT_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, long unsigned int U, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__f__PF2tU_2tT_)(), void (*__j__PF2tU_2tT2tU_)(), void *, void *);
+void __l__F__(){
+    int __b__i;
+    float _temp1;
+    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
+    }
+    void _adapterFf_Pff_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((float *)_ret))=((float (*)(float *, float ))_adaptee)(_p0, (*((float *)_p1))));
+    }
+    void _adapterFf_i_(void (*_adaptee)(), void *_ret, void *_p0){
+        ((*((float *)_ret))=((float (*)(int ))_adaptee)((*((int *)_p0))));
+    }
+    void _adapterFf_if_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((float *)_ret))=((float (*)(int , float ))_adaptee)((*((int *)_p0)), (*((float *)_p1))));
+    }
+    __i__F_f_((__k__A2_0_0____operator_assign__PFt0_Pt0t0____operator_assign__PFt1_Pt1t1___f__PFt1_t0___j__PFt1_t0t1__Ft1_t0_(_adapterFf_if_, _adapterFf_i_, _adapterFf_Pff_, _adapterFi_Pii_, sizeof(int ), sizeof(float ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_assign__Ff_Pff_), ((void (*)())__f__Ff_i_), ((void (*)())__j__Ff_if_), (&_temp1), (&__b__i)) , _temp1));
+}
Index: src/Tests/Expect-r/Initialization.txt
===================================================================
--- src/Tests/Expect-r/Initialization.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Initialization.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,15674 @@
+nameExpr is 0
+nameExpr is 0
+nameExpr is 0
+nameExpr is 0
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 20 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 20 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 20 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 20 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: tuple of types
+    signed int 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    w: tuple of types
+      signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    w: tuple of types
+      signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: tuple of types
+    signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: tuple of types
+    signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 2 signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _index0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _index0: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _index0: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is 0
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+(types:
+    instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 1
+nameExpr is 1
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    g1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    g1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    g2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    g2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g3: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    g3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    g3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  g3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue instance of struct __anonymous2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+(types:
+    instance of struct __anonymous2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 4 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f3: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _index1: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _index1: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _index1: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is 0
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+(types:
+    instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 0
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y3: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+(types:
+    instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct point 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct point 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  z: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    z: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    z: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  z: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  z: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct point 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous4 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    lvalue instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous4 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous4 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to instance of struct __anonymous4 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous4 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous4 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue instance of struct __anonymous4 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to instance of struct __anonymous4 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to instance of struct __anonymous4 
+formal type is instance of struct __anonymous4 
+actual type is lvalue instance of struct __anonymous4 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to instance of struct __anonymous4 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to instance of struct __anonymous4 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of struct __anonymous4 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of struct __anonymous4 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            y: instance of struct __anonymous4 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct point 
+--- results are
+        pointer to instance of struct __anonymous4 
+
+converting pointer to instance of struct __anonymous4 
+ to pointer to instance of struct __anonymous4 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          y: instance of struct __anonymous4 
+        from aggregate: 
+          Variable Expression: _src: instance of struct point 
+--- results are
+        lvalue instance of struct __anonymous4 
+
+converting lvalue instance of struct __anonymous4 
+ to instance of struct __anonymous4 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of struct __anonymous4 
+        _src: instance of struct __anonymous4 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              y: instance of struct __anonymous4 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct point 
+
+                  Member Expression, with field: 
+            y: instance of struct __anonymous4 
+          from aggregate: 
+            Variable Expression: _src: instance of struct point 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct __anonymous4 
+        _src: instance of struct __anonymous4 
+      returning 
+        instance of struct __anonymous4 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        y: instance of struct __anonymous4 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct point 
+
+      Member Expression, with field: 
+      y: instance of struct __anonymous4 
+    from aggregate: 
+      Variable Expression: _src: instance of struct point 
+
+(types:
+    instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          y: instance of struct __anonymous4 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct point 
+
+          Member Expression, with field: 
+        y: instance of struct __anonymous4 
+      from aggregate: 
+        Variable Expression: _src: instance of struct point 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct point 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    w: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    w: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct point 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct point 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct point 
+(types:
+    lvalue instance of struct point 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct point 
+
+to:
+  instance of struct point 
+(types:
+    instance of struct point 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct point 
+
+to:
+  instance of struct point 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct quintet 
+    _src: instance of struct quintet 
+  returning 
+    instance of struct quintet 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  v: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                v: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct quintet 
+          _src: instance of struct quintet 
+        returning 
+          instance of struct quintet 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  v: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    v: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    v: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  v: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  v: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct quintet 
+              _src: instance of struct quintet 
+            returning 
+              instance of struct quintet 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct quintet 
+                  _src: instance of struct quintet 
+                returning 
+                  instance of struct quintet 
+
+)
+        Environment: 
+formal type is pointer to instance of struct quintet 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct point 
+
+to:
+  instance of struct point 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct quintet 
+    _src: instance of struct quintet 
+  returning 
+    instance of struct quintet 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  v: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                v: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct quintet 
+          _src: instance of struct quintet 
+        returning 
+          instance of struct quintet 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    w: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    w: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  w: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct quintet 
+              _src: instance of struct quintet 
+            returning 
+              instance of struct quintet 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct quintet 
+                  _src: instance of struct quintet 
+                returning 
+                  instance of struct quintet 
+
+)
+        Environment: 
+formal type is pointer to instance of struct quintet 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct point 
+
+to:
+  instance of struct point 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct quintet 
+    _src: instance of struct quintet 
+  returning 
+    instance of struct quintet 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  v: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                v: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct quintet 
+          _src: instance of struct quintet 
+        returning 
+          instance of struct quintet 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct quintet 
+              _src: instance of struct quintet 
+            returning 
+              instance of struct quintet 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct quintet 
+                  _src: instance of struct quintet 
+                returning 
+                  instance of struct quintet 
+
+)
+        Environment: 
+formal type is pointer to instance of struct quintet 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct point 
+
+to:
+  instance of struct point 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct quintet 
+    _src: instance of struct quintet 
+  returning 
+    instance of struct quintet 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  v: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                v: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct quintet 
+          _src: instance of struct quintet 
+        returning 
+          instance of struct quintet 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct quintet 
+              _src: instance of struct quintet 
+            returning 
+              instance of struct quintet 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct quintet 
+                  _src: instance of struct quintet 
+                returning 
+                  instance of struct quintet 
+
+)
+        Environment: 
+formal type is pointer to instance of struct quintet 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: tuple of types
+                    signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                w: tuple of types
+                  signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+      Declaration of _index0: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index0: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index0: signed int 
+constant expression 3 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index0: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            a: array of signed int with dimension of                             Cast of:
+constant expression 3 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous1 
+                          Variable Expression: _index0: signed int 
+
+
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  g3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                g3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+      Declaration of _index1: C signed int 
+              Labels: {}
+        For Statement
+          initialization: 
+            Expression Statement:
+              Applying untyped: 
+                  Name: ?=?
+              ...to: 
+                  Address of:
+                    Variable Expression: _index1: signed int 
+                  Name: 0
+
+          condition: 
+            Applying untyped: 
+                Name: ?<?
+            ...to: 
+                Variable Expression: _index1: signed int 
+constant expression 4 signed int 
+          increment: 
+            Applying untyped: 
+                Name: ++?
+            ...to: 
+                Address of:
+                  Variable Expression: _index1: signed int 
+
+          statement block: 
+            CompoundStmt
+                              Expression Statement:
+                  Applying untyped: 
+                      Name: ?=?
+                  ...to: 
+                      Applying untyped: 
+                          Name: ?+?
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Applying untyped: 
+                                Name: *?
+                            ...to: 
+                                Variable Expression: _dst: pointer to instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+                      Applying untyped: 
+                          Name: ?[?]
+                      ...to: 
+                          Member Expression, with field: 
+                            f4: array of instance of struct __anonymous2 with dimension of                             Cast of:
+constant expression 4 signed int 
+                            to:
+                              long unsigned int 
+                            with environment:
+                              Types:
+                              Non-types:
+
+                          from aggregate: 
+                            Variable Expression: _src: instance of struct __anonymous3 
+                          Variable Expression: _index1: signed int 
+
+
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct point 
+    _src: instance of struct point 
+  returning 
+    instance of struct point 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous4 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous4 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct point 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct point 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct point 
+
+to:
+  instance of struct point 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct quintet 
+    _src: instance of struct quintet 
+  returning 
+    instance of struct quintet 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  v: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                v: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  w: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                w: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  z: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct quintet 
+              Member Expression, with field: 
+                z: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct quintet 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct quintet 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct point 
+      _src: instance of struct point 
+    returning 
+      instance of struct point 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct point 
+          _src: instance of struct point 
+        returning 
+          instance of struct point 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct quintet 
+      _src: instance of struct quintet 
+    returning 
+      instance of struct quintet 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct quintet 
+          _src: instance of struct quintet 
+        returning 
+          instance of struct quintet 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  z: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    z: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    z: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct quintet 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  z: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  z: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct quintet 
+              _src: instance of struct quintet 
+            returning 
+              instance of struct quintet 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct quintet 
+                  _src: instance of struct quintet 
+                returning 
+                  instance of struct quintet 
+
+)
+        Environment: 
+formal type is pointer to instance of struct quintet 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct point 
+              _src: instance of struct point 
+            returning 
+              instance of struct point 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct point 
+                  _src: instance of struct point 
+                returning 
+                  instance of struct point 
+
+)
+        Environment: 
+formal type is pointer to instance of struct point 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct quintet 
+(types:
+    lvalue instance of struct quintet 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct quintet 
+
+to:
+  instance of struct quintet 
+(types:
+    instance of struct quintet 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 6 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        w: tuple of types
+          signed int 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      w: tuple of types
+        signed int 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+  Tuple:
+    constant expression 2 signed int 
+
+to:
+  instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        b: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous1 
+    Member Expression, with field: 
+      b: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Name: 1
+
+Error: No reasonable alternatives for expression Name: 1
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 2 signed int 
+to:
+  pointer to instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        g1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous2 
+    Member Expression, with field: 
+      g1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        g2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous2 
+    Member Expression, with field: 
+      g2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        g3: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous2 
+    Member Expression, with field: 
+      g3: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous3 
+    Member Expression, with field: 
+      f1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous3 
+    Member Expression, with field: 
+      f2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f3: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous3 
+    Member Expression, with field: 
+      f3: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 7 signed int 
+to:
+  instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous4 
+    Member Expression, with field: 
+      y1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous4 
+    Member Expression, with field: 
+      y2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y3: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous4 
+    Member Expression, with field: 
+      y3: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct point 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct point 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        z: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct point 
+    Member Expression, with field: 
+      z: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct point 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        w: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct point 
+    Member Expression, with field: 
+      w: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct point 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        v: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct quintet 
+    Member Expression, with field: 
+      v: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct quintet 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        w: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct quintet 
+    Member Expression, with field: 
+      w: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct quintet 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct quintet 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct quintet 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct quintet 
+    Member Expression, with field: 
+      y: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct quintet 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        z: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct quintet 
+    Member Expression, with field: 
+      z: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct quintet 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 5 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 6 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 17 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 5 signed int 
+to:
+  instance of struct point 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct point 
+
Index: src/Tests/Expect-r/Initialization2.txt
===================================================================
--- src/Tests/Expect-r/Initialization2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Initialization2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,21582 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+constant expression 3 signed int 
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+(types:
+    instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous2 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous2 
+(types:
+    lvalue instance of struct __anonymous2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+(types:
+    instance of struct __anonymous2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous3 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous3 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous3 
+(types:
+    lvalue instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+(types:
+    instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous4 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous3 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    lvalue instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous3 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous3 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous4 
+(types:
+    pointer to instance of struct __anonymous3 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous3 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous3 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue instance of struct __anonymous3 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to instance of struct __anonymous3 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to instance of struct __anonymous3 
+formal type is instance of struct __anonymous3 
+actual type is lvalue instance of struct __anonymous3 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to instance of struct __anonymous3 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of struct __anonymous3 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of struct __anonymous3 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            y: instance of struct __anonymous3 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct __anonymous4 
+--- results are
+        pointer to instance of struct __anonymous3 
+
+converting pointer to instance of struct __anonymous3 
+ to pointer to instance of struct __anonymous3 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          y: instance of struct __anonymous3 
+        from aggregate: 
+          Variable Expression: _src: instance of struct __anonymous4 
+--- results are
+        lvalue instance of struct __anonymous3 
+
+converting lvalue instance of struct __anonymous3 
+ to instance of struct __anonymous3 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of struct __anonymous3 
+        _src: instance of struct __anonymous3 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              y: instance of struct __anonymous3 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                  Member Expression, with field: 
+            y: instance of struct __anonymous3 
+          from aggregate: 
+            Variable Expression: _src: instance of struct __anonymous4 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct __anonymous3 
+        _src: instance of struct __anonymous3 
+      returning 
+        instance of struct __anonymous3 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        y: instance of struct __anonymous3 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+      Member Expression, with field: 
+      y: instance of struct __anonymous3 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous4 
+
+(types:
+    instance of struct __anonymous3 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          y: instance of struct __anonymous3 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+          Member Expression, with field: 
+        y: instance of struct __anonymous3 
+      from aggregate: 
+        Variable Expression: _src: instance of struct __anonymous4 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous4 
+(types:
+    lvalue instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+(types:
+    instance of struct __anonymous4 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous5 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous5 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous5 
+(types:
+    lvalue instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+(types:
+    instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous6 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous5 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    lvalue instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous5 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    pointer to instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous5 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous6 
+(types:
+    pointer to instance of struct __anonymous5 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous5 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous5 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue instance of struct __anonymous5 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to instance of struct __anonymous5 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to instance of struct __anonymous5 
+formal type is instance of struct __anonymous5 
+actual type is lvalue instance of struct __anonymous5 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to instance of struct __anonymous5 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to instance of struct __anonymous5 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to instance of struct __anonymous5 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of struct __anonymous5 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of struct __anonymous5 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            y: instance of struct __anonymous5 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct __anonymous6 
+--- results are
+        pointer to instance of struct __anonymous5 
+
+converting pointer to instance of struct __anonymous5 
+ to pointer to instance of struct __anonymous5 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          y: instance of struct __anonymous5 
+        from aggregate: 
+          Variable Expression: _src: instance of struct __anonymous6 
+--- results are
+        lvalue instance of struct __anonymous5 
+
+converting lvalue instance of struct __anonymous5 
+ to instance of struct __anonymous5 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of struct __anonymous5 
+        _src: instance of struct __anonymous5 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              y: instance of struct __anonymous5 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                  Member Expression, with field: 
+            y: instance of struct __anonymous5 
+          from aggregate: 
+            Variable Expression: _src: instance of struct __anonymous6 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct __anonymous5 
+        _src: instance of struct __anonymous5 
+      returning 
+        instance of struct __anonymous5 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        y: instance of struct __anonymous5 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+      Member Expression, with field: 
+      y: instance of struct __anonymous5 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous6 
+
+(types:
+    instance of struct __anonymous5 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          y: instance of struct __anonymous5 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+          Member Expression, with field: 
+        y: instance of struct __anonymous5 
+      from aggregate: 
+        Variable Expression: _src: instance of struct __anonymous6 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous6 
+(types:
+    lvalue instance of struct __anonymous6 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+(types:
+    instance of struct __anonymous6 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 9 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 8 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous7 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+there are 8 alternatives before elimination
+there are 8 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous7 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous7 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous7 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous7 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous7 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+there are 8 alternatives before elimination
+there are 8 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous7 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous7 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous7 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous7 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous7 
+(types:
+    lvalue instance of struct __anonymous7 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+(types:
+    instance of struct __anonymous7 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous8 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous8 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous8 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous8 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous8 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous8 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous7 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+(types:
+    lvalue instance of struct __anonymous7 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous7 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous8 
+(types:
+    pointer to instance of struct __anonymous7 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous7 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous8 
+(types:
+    pointer to instance of struct __anonymous7 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous7 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous8 
+(types:
+    lvalue instance of struct __anonymous7 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous7 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous8 
+(types:
+    lvalue instance of struct __anonymous7 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to instance of struct __anonymous7 
+formal type is instance of struct __anonymous7 
+actual type is lvalue instance of struct __anonymous7 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of struct __anonymous7 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of struct __anonymous7 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            y: instance of struct __anonymous7 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct __anonymous8 
+--- results are
+        pointer to instance of struct __anonymous7 
+
+converting pointer to instance of struct __anonymous7 
+ to pointer to instance of struct __anonymous7 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          y: instance of struct __anonymous7 
+        from aggregate: 
+          Variable Expression: _src: instance of struct __anonymous8 
+--- results are
+        lvalue instance of struct __anonymous7 
+
+converting lvalue instance of struct __anonymous7 
+ to instance of struct __anonymous7 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of struct __anonymous7 
+        _src: instance of struct __anonymous7 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              y: instance of struct __anonymous7 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                  Member Expression, with field: 
+            y: instance of struct __anonymous7 
+          from aggregate: 
+            Variable Expression: _src: instance of struct __anonymous8 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct __anonymous7 
+        _src: instance of struct __anonymous7 
+      returning 
+        instance of struct __anonymous7 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        y: instance of struct __anonymous7 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+      Member Expression, with field: 
+      y: instance of struct __anonymous7 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous8 
+
+(types:
+    instance of struct __anonymous7 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          y: instance of struct __anonymous7 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+          Member Expression, with field: 
+        y: instance of struct __anonymous7 
+      from aggregate: 
+        Variable Expression: _src: instance of struct __anonymous8 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous8 
+(types:
+    lvalue instance of struct __anonymous8 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+(types:
+    instance of struct __anonymous8 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 9 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 8 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous9 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+there are 10 alternatives before elimination
+there are 10 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous9 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous9 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous9 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous9 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous9 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+there are 10 alternatives before elimination
+there are 10 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous9 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous9 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous9 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous9 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous9 
+(types:
+    lvalue instance of struct __anonymous9 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+(types:
+    instance of struct __anonymous9 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous10 
+    _src: instance of struct __anonymous10 
+  returning 
+    instance of struct __anonymous10 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous9 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                y: instance of struct __anonymous9 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous10 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous10 
+          _src: instance of struct __anonymous10 
+        returning 
+          instance of struct __anonymous10 
+
+)
+Environment: 
+
+there are 11 alternatives before elimination
+there are 11 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous10 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous10 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous10 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous10 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous10 
+              _src: instance of struct __anonymous10 
+            returning 
+              instance of struct __anonymous10 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous10 
+                  _src: instance of struct __anonymous10 
+                returning 
+                  instance of struct __anonymous10 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous10 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous10 
+    _src: instance of struct __anonymous10 
+  returning 
+    instance of struct __anonymous10 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous9 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                y: instance of struct __anonymous9 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous10 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous10 
+          _src: instance of struct __anonymous10 
+        returning 
+          instance of struct __anonymous10 
+
+)
+Environment: 
+
+there are 11 alternatives before elimination
+there are 11 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous9 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+(types:
+    lvalue instance of struct __anonymous9 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous9 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous10 
+(types:
+    pointer to instance of struct __anonymous9 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: instance of struct __anonymous9 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous10 
+(types:
+    pointer to instance of struct __anonymous9 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous9 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous10 
+(types:
+    lvalue instance of struct __anonymous9 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: instance of struct __anonymous9 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous10 
+(types:
+    lvalue instance of struct __anonymous9 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous10 
+              _src: instance of struct __anonymous10 
+            returning 
+              instance of struct __anonymous10 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous10 
+                  _src: instance of struct __anonymous10 
+                returning 
+                  instance of struct __anonymous10 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous10 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to instance of struct __anonymous9 
+formal type is instance of struct __anonymous9 
+actual type is lvalue instance of struct __anonymous9 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of struct __anonymous9 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of struct __anonymous9 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            y: instance of struct __anonymous9 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct __anonymous10 
+--- results are
+        pointer to instance of struct __anonymous9 
+
+converting pointer to instance of struct __anonymous9 
+ to pointer to instance of struct __anonymous9 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          y: instance of struct __anonymous9 
+        from aggregate: 
+          Variable Expression: _src: instance of struct __anonymous10 
+--- results are
+        lvalue instance of struct __anonymous9 
+
+converting lvalue instance of struct __anonymous9 
+ to instance of struct __anonymous9 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of struct __anonymous9 
+        _src: instance of struct __anonymous9 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              y: instance of struct __anonymous9 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+                  Member Expression, with field: 
+            y: instance of struct __anonymous9 
+          from aggregate: 
+            Variable Expression: _src: instance of struct __anonymous10 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct __anonymous9 
+        _src: instance of struct __anonymous9 
+      returning 
+        instance of struct __anonymous9 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        y: instance of struct __anonymous9 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+      Member Expression, with field: 
+      y: instance of struct __anonymous9 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous10 
+
+(types:
+    instance of struct __anonymous9 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          y: instance of struct __anonymous9 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+          Member Expression, with field: 
+        y: instance of struct __anonymous9 
+      from aggregate: 
+        Variable Expression: _src: instance of struct __anonymous10 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous10 
+(types:
+    lvalue instance of struct __anonymous10 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous10 
+
+to:
+  instance of struct __anonymous10 
+(types:
+    instance of struct __anonymous10 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous10 
+    _src: instance of struct __anonymous10 
+  returning 
+    instance of struct __anonymous10 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous9 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous9 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous10 
+
+to:
+  instance of struct __anonymous10 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct t 
+    _src: instance of struct t 
+  returning 
+    instance of struct t 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct t 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous10 
+          _src: instance of struct __anonymous10 
+        returning 
+          instance of struct __anonymous10 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct t 
+          _src: instance of struct t 
+        returning 
+          instance of struct t 
+
+)
+Environment: 
+
+there are 12 alternatives before elimination
+there are 12 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct t 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct t 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct t 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct t 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct t 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct t 
+              _src: instance of struct t 
+            returning 
+              instance of struct t 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct t 
+                  _src: instance of struct t 
+                returning 
+                  instance of struct t 
+
+)
+        Environment: 
+formal type is pointer to instance of struct t 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous10 
+              _src: instance of struct __anonymous10 
+            returning 
+              instance of struct __anonymous10 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous10 
+                  _src: instance of struct __anonymous10 
+                returning 
+                  instance of struct __anonymous10 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous10 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous10 
+    _src: instance of struct __anonymous10 
+  returning 
+    instance of struct __anonymous10 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous9 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous9 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous10 
+
+to:
+  instance of struct __anonymous10 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct t 
+    _src: instance of struct t 
+  returning 
+    instance of struct t 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct t 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous10 
+          _src: instance of struct __anonymous10 
+        returning 
+          instance of struct __anonymous10 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct t 
+          _src: instance of struct t 
+        returning 
+          instance of struct t 
+
+)
+Environment: 
+
+there are 12 alternatives before elimination
+there are 12 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct t 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct t 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct t 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct t 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct t 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct t 
+              _src: instance of struct t 
+            returning 
+              instance of struct t 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct t 
+                  _src: instance of struct t 
+                returning 
+                  instance of struct t 
+
+)
+        Environment: 
+formal type is pointer to instance of struct t 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous10 
+              _src: instance of struct __anonymous10 
+            returning 
+              instance of struct __anonymous10 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous10 
+                  _src: instance of struct __anonymous10 
+                returning 
+                  instance of struct __anonymous10 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous10 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct t 
+(types:
+    lvalue instance of struct t 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct t 
+
+to:
+  instance of struct t 
+(types:
+    instance of struct t 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous10 
+    _src: instance of struct __anonymous10 
+  returning 
+    instance of struct __anonymous10 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous9 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous9 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous10 
+
+to:
+  instance of struct __anonymous10 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous11 
+    _src: instance of struct __anonymous11 
+  returning 
+    instance of struct __anonymous11 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous11 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous11 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous11 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous11 
+      _src: instance of struct __anonymous11 
+    returning 
+      instance of struct __anonymous11 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct t 
+    _src: instance of struct t 
+  returning 
+    instance of struct t 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct t 
+
+to:
+  instance of struct t 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous10 
+          _src: instance of struct __anonymous10 
+        returning 
+          instance of struct __anonymous10 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous11 
+      _src: instance of struct __anonymous11 
+    returning 
+      instance of struct __anonymous11 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous11 
+          _src: instance of struct __anonymous11 
+        returning 
+          instance of struct __anonymous11 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct t 
+          _src: instance of struct t 
+        returning 
+          instance of struct t 
+
+)
+Environment: 
+
+there are 13 alternatives before elimination
+there are 13 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous11 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous11 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    x: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous11 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous11 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  x: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous11 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct t 
+              _src: instance of struct t 
+            returning 
+              instance of struct t 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct t 
+                  _src: instance of struct t 
+                returning 
+                  instance of struct t 
+
+)
+        Environment: 
+formal type is pointer to instance of struct t 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous11 
+              _src: instance of struct __anonymous11 
+            returning 
+              instance of struct __anonymous11 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous11 
+                  _src: instance of struct __anonymous11 
+                returning 
+                  instance of struct __anonymous11 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous11 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous10 
+              _src: instance of struct __anonymous10 
+            returning 
+              instance of struct __anonymous10 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous10 
+                  _src: instance of struct __anonymous10 
+                returning 
+                  instance of struct __anonymous10 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous10 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous2 
+    _src: instance of struct __anonymous2 
+  returning 
+    instance of struct __anonymous2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous2 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous2 
+
+to:
+  instance of struct __anonymous2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous3 
+    _src: instance of struct __anonymous3 
+  returning 
+    instance of struct __anonymous3 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous3 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous3 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous3 
+
+to:
+  instance of struct __anonymous3 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous4 
+    _src: instance of struct __anonymous4 
+  returning 
+    instance of struct __anonymous4 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous3 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous4 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous3 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous4 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous4 
+
+to:
+  instance of struct __anonymous4 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous5 
+    _src: instance of struct __anonymous5 
+  returning 
+    instance of struct __anonymous5 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous5 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous5 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous5 
+
+to:
+  instance of struct __anonymous5 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous6 
+    _src: instance of struct __anonymous6 
+  returning 
+    instance of struct __anonymous6 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous5 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous6 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous5 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous6 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous6 
+
+to:
+  instance of struct __anonymous6 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous7 
+    _src: instance of struct __anonymous7 
+  returning 
+    instance of struct __anonymous7 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous7 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous7 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous7 
+
+to:
+  instance of struct __anonymous7 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous8 
+    _src: instance of struct __anonymous8 
+  returning 
+    instance of struct __anonymous8 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous7 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous8 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous7 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous8 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous8 
+
+to:
+  instance of struct __anonymous8 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous9 
+    _src: instance of struct __anonymous9 
+  returning 
+    instance of struct __anonymous9 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous9 
+              Member Expression, with field: 
+                y2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous9 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous9 
+
+to:
+  instance of struct __anonymous9 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous10 
+    _src: instance of struct __anonymous10 
+  returning 
+    instance of struct __anonymous10 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: instance of struct __anonymous9 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous10 
+
+                          Member Expression, with field: 
+                y: instance of struct __anonymous9 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous10 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous10 
+
+to:
+  instance of struct __anonymous10 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous11 
+    _src: instance of struct __anonymous11 
+  returning 
+    instance of struct __anonymous11 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  x: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
+              Member Expression, with field: 
+                x: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous11 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous11 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous11 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous11 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous11 
+      _src: instance of struct __anonymous11 
+    returning 
+      instance of struct __anonymous11 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct t 
+    _src: instance of struct t 
+  returning 
+    instance of struct t 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct t 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct t 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct t 
+
+to:
+  instance of struct t 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous2 
+      _src: instance of struct __anonymous2 
+    returning 
+      instance of struct __anonymous2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous2 
+          _src: instance of struct __anonymous2 
+        returning 
+          instance of struct __anonymous2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous3 
+      _src: instance of struct __anonymous3 
+    returning 
+      instance of struct __anonymous3 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous3 
+          _src: instance of struct __anonymous3 
+        returning 
+          instance of struct __anonymous3 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous4 
+      _src: instance of struct __anonymous4 
+    returning 
+      instance of struct __anonymous4 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous4 
+          _src: instance of struct __anonymous4 
+        returning 
+          instance of struct __anonymous4 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous5 
+      _src: instance of struct __anonymous5 
+    returning 
+      instance of struct __anonymous5 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous5 
+          _src: instance of struct __anonymous5 
+        returning 
+          instance of struct __anonymous5 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous6 
+      _src: instance of struct __anonymous6 
+    returning 
+      instance of struct __anonymous6 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous6 
+          _src: instance of struct __anonymous6 
+        returning 
+          instance of struct __anonymous6 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous7 
+      _src: instance of struct __anonymous7 
+    returning 
+      instance of struct __anonymous7 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous7 
+          _src: instance of struct __anonymous7 
+        returning 
+          instance of struct __anonymous7 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous8 
+      _src: instance of struct __anonymous8 
+    returning 
+      instance of struct __anonymous8 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous8 
+          _src: instance of struct __anonymous8 
+        returning 
+          instance of struct __anonymous8 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous9 
+      _src: instance of struct __anonymous9 
+    returning 
+      instance of struct __anonymous9 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous9 
+          _src: instance of struct __anonymous9 
+        returning 
+          instance of struct __anonymous9 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous10 
+      _src: instance of struct __anonymous10 
+    returning 
+      instance of struct __anonymous10 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous10 
+          _src: instance of struct __anonymous10 
+        returning 
+          instance of struct __anonymous10 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous11 
+      _src: instance of struct __anonymous11 
+    returning 
+      instance of struct __anonymous11 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous11 
+          _src: instance of struct __anonymous11 
+        returning 
+          instance of struct __anonymous11 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct t 
+      _src: instance of struct t 
+    returning 
+      instance of struct t 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct t 
+          _src: instance of struct t 
+        returning 
+          instance of struct t 
+
+)
+Environment: 
+
+there are 13 alternatives before elimination
+there are 13 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous11 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous11 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous11 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous11 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous11 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct t 
+              _src: instance of struct t 
+            returning 
+              instance of struct t 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct t 
+                  _src: instance of struct t 
+                returning 
+                  instance of struct t 
+
+)
+        Environment: 
+formal type is pointer to instance of struct t 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous11 
+              _src: instance of struct __anonymous11 
+            returning 
+              instance of struct __anonymous11 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous11 
+                  _src: instance of struct __anonymous11 
+                returning 
+                  instance of struct __anonymous11 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous11 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous10 
+              _src: instance of struct __anonymous10 
+            returning 
+              instance of struct __anonymous10 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous10 
+                  _src: instance of struct __anonymous10 
+                returning 
+                  instance of struct __anonymous10 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous10 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous9 
+              _src: instance of struct __anonymous9 
+            returning 
+              instance of struct __anonymous9 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous9 
+                  _src: instance of struct __anonymous9 
+                returning 
+                  instance of struct __anonymous9 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous9 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous8 
+              _src: instance of struct __anonymous8 
+            returning 
+              instance of struct __anonymous8 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous8 
+                  _src: instance of struct __anonymous8 
+                returning 
+                  instance of struct __anonymous8 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous8 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous7 
+              _src: instance of struct __anonymous7 
+            returning 
+              instance of struct __anonymous7 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous7 
+                  _src: instance of struct __anonymous7 
+                returning 
+                  instance of struct __anonymous7 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous7 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous6 
+              _src: instance of struct __anonymous6 
+            returning 
+              instance of struct __anonymous6 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous6 
+                  _src: instance of struct __anonymous6 
+                returning 
+                  instance of struct __anonymous6 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous6 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous5 
+              _src: instance of struct __anonymous5 
+            returning 
+              instance of struct __anonymous5 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous5 
+                  _src: instance of struct __anonymous5 
+                returning 
+                  instance of struct __anonymous5 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous5 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous4 
+              _src: instance of struct __anonymous4 
+            returning 
+              instance of struct __anonymous4 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous4 
+                  _src: instance of struct __anonymous4 
+                returning 
+                  instance of struct __anonymous4 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous4 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous3 
+              _src: instance of struct __anonymous3 
+            returning 
+              instance of struct __anonymous3 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous3 
+                  _src: instance of struct __anonymous3 
+                returning 
+                  instance of struct __anonymous3 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous3 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous2 
+              _src: instance of struct __anonymous2 
+            returning 
+              instance of struct __anonymous2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous2 
+                  _src: instance of struct __anonymous2 
+                returning 
+                  instance of struct __anonymous2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous2 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous11 
+(types:
+    lvalue instance of struct __anonymous11 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous11 
+
+to:
+  instance of struct __anonymous11 
+(types:
+    instance of struct __anonymous11 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 6 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      y: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 7 signed int 
+to:
+  instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous1 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous1 
+    Member Expression, with field: 
+      y: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous2 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous2 
+    Member Expression, with field: 
+      y: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct __anonymous2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous3 
+    Member Expression, with field: 
+      y1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous3 
+    Member Expression, with field: 
+      y2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous3 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous4 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 5 signed int 
+to:
+  instance of struct __anonymous4 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous5 
+    Member Expression, with field: 
+      y1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous5 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous5 
+    Member Expression, with field: 
+      y2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous5 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous6 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous6 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 9 signed int 
+to:
+  instance of struct __anonymous6 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 8 signed int 
+to:
+  instance of struct __anonymous6 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 7 signed int 
+to:
+  instance of struct __anonymous6 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous7 
+    Member Expression, with field: 
+      y1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous7 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous7 
+    Member Expression, with field: 
+      y2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous7 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous8 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous8 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 7 signed int 
+to:
+  instance of struct __anonymous8 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 9 signed int 
+to:
+  instance of struct __anonymous8 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 8 signed int 
+to:
+  instance of struct __anonymous8 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous9 
+    Member Expression, with field: 
+      y1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous9 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous9 
+    Member Expression, with field: 
+      y2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous9 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous10 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous10 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous10 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct __anonymous10 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 5 signed int 
+to:
+  instance of struct __anonymous10 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        a: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct t 
+    Member Expression, with field: 
+      a: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct t 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        b: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct t 
+    Member Expression, with field: 
+      b: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct t 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct t 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct t 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        x: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous11 
+    Member Expression, with field: 
+      x: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous11 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous11 
+    Member Expression, with field: 
+      y: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous11 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 5 signed int 
+to:
+  instance of struct __anonymous11 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 6 signed int 
+to:
+  instance of struct __anonymous11 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 4 signed int 
+to:
+  instance of struct __anonymous11 
+
Index: src/Tests/Expect-r/LabelledExit.txt
===================================================================
--- src/Tests/Expect-r/LabelledExit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/LabelledExit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1 @@
+Error: 'continue' target label must be an enclosing loop: 
Index: src/Tests/Expect-r/Members.txt
===================================================================
--- src/Tests/Expect-r/Members.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Members.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,9113 @@
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+              Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+              Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to signed int 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            a: signed int 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct a_struct 
+--- results are
+        pointer to signed int 
+
+converting pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: signed int 
+        from aggregate: 
+          Variable Expression: _src: instance of struct a_struct 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+        signed int 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              a: signed int 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                  Member Expression, with field: 
+            a: signed int 
+          from aggregate: 
+            Variable Expression: _src: instance of struct a_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        a: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct a_struct 
+
+      Member Expression, with field: 
+      a: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct a_struct 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          a: signed int 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct a_struct 
+
+          Member Expression, with field: 
+        a: signed int 
+      from aggregate: 
+        Variable Expression: _src: instance of struct a_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+              Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+              Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: char 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: char 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    pointer to char 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to char 
+formal type is char 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to char 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            a: char 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct a_struct 
+--- results are
+        pointer to char 
+
+converting pointer to char 
+ to pointer to char 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: char 
+        from aggregate: 
+          Variable Expression: _src: instance of struct a_struct 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to char 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to char 
+        char 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              a: char 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                  Member Expression, with field: 
+            a: char 
+          from aggregate: 
+            Variable Expression: _src: instance of struct a_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to char 
+        char 
+      returning 
+        char 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        a: char 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct a_struct 
+
+      Member Expression, with field: 
+      a: char 
+    from aggregate: 
+      Variable Expression: _src: instance of struct a_struct 
+
+(types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          a: char 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct a_struct 
+
+          Member Expression, with field: 
+        a: char 
+      from aggregate: 
+        Variable Expression: _src: instance of struct a_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+              Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct a_struct 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: float 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    pointer to float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: float 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct a_struct 
+(types:
+    pointer to float 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to float 
+formal type is float 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to float 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            a: float 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct a_struct 
+--- results are
+        pointer to float 
+
+converting pointer to float 
+ to pointer to float 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: float 
+        from aggregate: 
+          Variable Expression: _src: instance of struct a_struct 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to float 
+        float 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              a: float 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                  Member Expression, with field: 
+            a: float 
+          from aggregate: 
+            Variable Expression: _src: instance of struct a_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to float 
+        float 
+      returning 
+        float 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        a: float 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct a_struct 
+
+      Member Expression, with field: 
+      a: float 
+    from aggregate: 
+      Variable Expression: _src: instance of struct a_struct 
+
+(types:
+    float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          a: float 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct a_struct 
+
+          Member Expression, with field: 
+        a: float 
+      from aggregate: 
+        Variable Expression: _src: instance of struct a_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct a_struct 
+(types:
+    lvalue instance of struct a_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+(types:
+    instance of struct a_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is __builtin_memcpy
+decl is __builtin_memcpy: function
+    accepting unspecified arguments
+  returning 
+    pointer to char 
+
+newExpr is Variable Expression: __builtin_memcpy: function
+      accepting unspecified arguments
+    returning 
+      pointer to char 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: __builtin_memcpy: function
+      accepting unspecified arguments
+    returning 
+      pointer to char 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          pointer to char 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union b_struct 
+(types:
+    lvalue pointer to instance of union b_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union b_struct 
+(types:
+    lvalue pointer to instance of union b_struct 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union b_struct 
+(types:
+    lvalue instance of union b_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _src: instance of union b_struct 
+(types:
+    pointer to instance of union b_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _src: instance of union b_struct 
+(types:
+    pointer to instance of union b_struct 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union b_struct 
+(types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union b_struct 
+(types:
+    unsigned int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: __builtin_memcpy: function
+              accepting unspecified arguments
+            returning 
+              pointer to char 
+
+(types:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+)
+        Environment: 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: _dst: pointer to instance of union b_struct 
+--- results are
+        lvalue pointer to instance of union b_struct 
+actual expression:
+        Address of:
+          Variable Expression: _src: instance of union b_struct 
+--- results are
+        pointer to instance of union b_struct 
+actual expression:
+        Sizeof Expression on: instance of union b_struct 
+--- results are
+        unsigned int 
+Case +++++++++++++
+formals are:
+actuals are:
+                  Variable Expression: _dst: pointer to instance of union b_struct 
+
+                  Address of:
+            Variable Expression: _src: instance of union b_struct 
+
+                  Sizeof Expression on: instance of union b_struct 
+
+bindings are:
+cost of conversion is:( 3, 0, 0 )
+alternatives before prune:
+Cost ( 3, 0, 0 ): Application of
+  Variable Expression: __builtin_memcpy: function
+        accepting unspecified arguments
+      returning 
+        pointer to char 
+
+to arguments
+      Variable Expression: _dst: pointer to instance of union b_struct 
+
+      Address of:
+      Variable Expression: _src: instance of union b_struct 
+
+      Sizeof Expression on: instance of union b_struct 
+
+(types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: __builtin_memcpy: function
+          accepting unspecified arguments
+        returning 
+          pointer to char 
+
+  to arguments
+          Variable Expression: _dst: pointer to instance of union b_struct 
+
+          Address of:
+        Variable Expression: _src: instance of union b_struct 
+
+          Sizeof Expression on: instance of union b_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union b_struct 
+(types:
+    lvalue instance of union b_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+(types:
+    instance of union b_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: function
+  with parameters
+    char 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: a: function
+    with parameters
+      char 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: function
+    with parameters
+      char 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          char 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is the_struct
+decl is the_struct: instance of struct a_struct 
+newExpr is Variable Expression: the_struct: instance of struct a_struct 
+
+decl is the_struct: instance of union b_struct 
+newExpr is Variable Expression: the_struct: instance of union b_struct 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue instance of struct a_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue instance of union b_struct 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: a: function
+            with parameters
+              char 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  char 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is char 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue pointer to signed int 
+formal type is char 
+actual type is lvalue pointer to float 
+formal type is char 
+actual type is lvalue pointer to char 
+actual expression:
+        Member Expression, with field: 
+          a: signed int 
+        from aggregate: 
+          Variable Expression: the_struct: instance of struct a_struct 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to char 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              a: signed int 
+            from aggregate: 
+              Variable Expression: the_struct: instance of struct a_struct 
+
+          to:
+            char 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: float 
+        from aggregate: 
+          Variable Expression: the_struct: instance of struct a_struct 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to char 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              a: float 
+            from aggregate: 
+              Variable Expression: the_struct: instance of struct a_struct 
+
+          to:
+            char 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: char 
+        from aggregate: 
+          Variable Expression: the_struct: instance of struct a_struct 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to char 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Member Expression, with field: 
+            a: char 
+          from aggregate: 
+            Variable Expression: the_struct: instance of struct a_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: a: function
+      with parameters
+        char 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Member Expression, with field: 
+        a: signed int 
+      from aggregate: 
+        Variable Expression: the_struct: instance of struct a_struct 
+
+    to:
+      char 
+
+(types:
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: a: function
+      with parameters
+        char 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Member Expression, with field: 
+        a: float 
+      from aggregate: 
+        Variable Expression: the_struct: instance of struct a_struct 
+
+    to:
+      char 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: a: function
+      with parameters
+        char 
+      returning 
+        nothing 
+
+to arguments
+      Member Expression, with field: 
+      a: char 
+    from aggregate: 
+      Variable Expression: the_struct: instance of struct a_struct 
+
+(types:
+)
+Environment: 
+
+marking ambiguous
+cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: a: function
+        with parameters
+          char 
+        returning 
+          nothing 
+
+  to arguments
+          Member Expression, with field: 
+        a: char 
+      from aggregate: 
+        Variable Expression: the_struct: instance of struct a_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: b: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is the_struct
+decl is the_struct: instance of struct a_struct 
+newExpr is Variable Expression: the_struct: instance of struct a_struct 
+
+decl is the_struct: instance of union b_struct 
+newExpr is Variable Expression: the_struct: instance of union b_struct 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue instance of struct a_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue instance of union b_struct 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: b: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue pointer to signed int 
+formal type is signed int 
+actual type is lvalue pointer to float 
+formal type is signed int 
+actual type is lvalue pointer to char 
+actual expression:
+        Member Expression, with field: 
+          a: signed int 
+        from aggregate: 
+          Variable Expression: the_struct: instance of struct a_struct 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Member Expression, with field: 
+            a: signed int 
+          from aggregate: 
+            Variable Expression: the_struct: instance of struct a_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: float 
+        from aggregate: 
+          Variable Expression: the_struct: instance of struct a_struct 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              a: float 
+            from aggregate: 
+              Variable Expression: the_struct: instance of struct a_struct 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          a: char 
+        from aggregate: 
+          Variable Expression: the_struct: instance of struct a_struct 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              a: char 
+            from aggregate: 
+              Variable Expression: the_struct: instance of struct a_struct 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 4 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: b: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Member Expression, with field: 
+      a: signed int 
+    from aggregate: 
+      Variable Expression: the_struct: instance of struct a_struct 
+
+(types:
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: b: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Member Expression, with field: 
+        a: float 
+      from aggregate: 
+        Variable Expression: the_struct: instance of struct a_struct 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 4 ): Application of
+  Variable Expression: b: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Member Expression, with field: 
+        a: char 
+      from aggregate: 
+        Variable Expression: the_struct: instance of struct a_struct 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: b: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Member Expression, with field: 
+        a: signed int 
+      from aggregate: 
+        Variable Expression: the_struct: instance of struct a_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is c
+decl is c: function
+  with parameters
+    pointer to signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: c: function
+    with parameters
+      pointer to signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: function
+    with parameters
+      pointer to signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is the_struct
+decl is the_struct: instance of struct a_struct 
+newExpr is Variable Expression: the_struct: instance of struct a_struct 
+
+decl is the_struct: instance of union b_struct 
+newExpr is Variable Expression: the_struct: instance of union b_struct 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue instance of struct a_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue instance of union b_struct 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: c: function
+            with parameters
+              pointer to signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is lvalue signed int 
+formal type is pointer to signed int 
+actual type is lvalue float 
+formal type is pointer to signed int 
+actual type is lvalue char 
+formal type is pointer to signed int 
+actual type is lvalue pointer to signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is pointer to signed int 
+actual type is lvalue pointer to float 
+formal type is pointer to signed int 
+actual type is lvalue pointer to char 
+actual expression:
+        Member Expression, with field: 
+          a: pointer to signed int 
+        from aggregate: 
+          Variable Expression: the_struct: instance of union b_struct 
+--- results are
+        lvalue pointer to signed int 
+
+converting lvalue pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+actuals are:
+                  Member Expression, with field: 
+            a: pointer to signed int 
+          from aggregate: 
+            Variable Expression: the_struct: instance of union b_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: c: function
+      with parameters
+        pointer to signed int 
+      returning 
+        nothing 
+
+to arguments
+      Member Expression, with field: 
+      a: pointer to signed int 
+    from aggregate: 
+      Variable Expression: the_struct: instance of union b_struct 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: c: function
+        with parameters
+          pointer to signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Member Expression, with field: 
+        a: pointer to signed int 
+      from aggregate: 
+        Variable Expression: the_struct: instance of union b_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is d
+decl is d: function
+  with parameters
+    pointer to float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: d: function
+    with parameters
+      pointer to float 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: function
+    with parameters
+      pointer to float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is the_struct
+decl is the_struct: instance of struct a_struct 
+newExpr is Variable Expression: the_struct: instance of struct a_struct 
+
+decl is the_struct: instance of union b_struct 
+newExpr is Variable Expression: the_struct: instance of union b_struct 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue instance of struct a_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue instance of union b_struct 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: float 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: char 
+from aggregate: 
+  Variable Expression: the_struct: instance of struct a_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to signed int 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to float 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: pointer to char 
+from aggregate: 
+  Variable Expression: the_struct: instance of union b_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: d: function
+            with parameters
+              pointer to float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is lvalue signed int 
+formal type is pointer to float 
+actual type is lvalue float 
+formal type is pointer to float 
+actual type is lvalue char 
+formal type is pointer to float 
+actual type is lvalue pointer to signed int 
+formal type is pointer to float 
+actual type is lvalue pointer to float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is pointer to float 
+actual type is lvalue pointer to char 
+actual expression:
+        Member Expression, with field: 
+          a: pointer to float 
+        from aggregate: 
+          Variable Expression: the_struct: instance of union b_struct 
+--- results are
+        lvalue pointer to float 
+
+converting lvalue pointer to float 
+ to pointer to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to float 
+actuals are:
+                  Member Expression, with field: 
+            a: pointer to float 
+          from aggregate: 
+            Variable Expression: the_struct: instance of union b_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: d: function
+      with parameters
+        pointer to float 
+      returning 
+        nothing 
+
+to arguments
+      Member Expression, with field: 
+      a: pointer to float 
+    from aggregate: 
+      Variable Expression: the_struct: instance of union b_struct 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: d: function
+        with parameters
+          pointer to float 
+        returning 
+          nothing 
+
+  to arguments
+          Member Expression, with field: 
+        a: pointer to float 
+      from aggregate: 
+        Variable Expression: the_struct: instance of union b_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct c_struct 
+    _src: instance of struct c_struct 
+  returning 
+    instance of struct c_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+              Member Expression, with field: 
+                char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+              Member Expression, with field: 
+                float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union b_struct 
+    _src: instance of union b_struct 
+  returning 
+    instance of union b_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union b_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union b_struct 
+
+                          Sizeof Expression on: instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct c_struct 
+          _src: instance of struct c_struct 
+        returning 
+          instance of struct c_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of union b_struct 
+          _src: instance of union b_struct 
+        returning 
+          instance of union b_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of union b_struct 
+              _src: instance of union b_struct 
+            returning 
+              instance of union b_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of union b_struct 
+                  _src: instance of union b_struct 
+                returning 
+                  instance of union b_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of union b_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct c_struct 
+              _src: instance of struct c_struct 
+            returning 
+              instance of struct c_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct c_struct 
+                  _src: instance of struct c_struct 
+                returning 
+                  instance of struct c_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct c_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to signed int 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            signed int 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct c_struct 
+--- results are
+        pointer to signed int 
+
+converting pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          signed int 
+        from aggregate: 
+          Variable Expression: _src: instance of struct c_struct 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+        signed int 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              signed int 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                  Member Expression, with field: 
+            signed int 
+          from aggregate: 
+            Variable Expression: _src: instance of struct c_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct c_struct 
+
+      Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct c_struct 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          signed int 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct c_struct 
+
+          Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Variable Expression: _src: instance of struct c_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct c_struct 
+    _src: instance of struct c_struct 
+  returning 
+    instance of struct c_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+              Member Expression, with field: 
+                char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+              Member Expression, with field: 
+                float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union b_struct 
+    _src: instance of union b_struct 
+  returning 
+    instance of union b_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union b_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union b_struct 
+
+                          Sizeof Expression on: instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct c_struct 
+          _src: instance of struct c_struct 
+        returning 
+          instance of struct c_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of union b_struct 
+          _src: instance of union b_struct 
+        returning 
+          instance of union b_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    char 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    char 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    pointer to char 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to char 
+formal type is char 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of union b_struct 
+              _src: instance of union b_struct 
+            returning 
+              instance of union b_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of union b_struct 
+                  _src: instance of union b_struct 
+                returning 
+                  instance of union b_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of union b_struct 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct c_struct 
+              _src: instance of struct c_struct 
+            returning 
+              instance of struct c_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct c_struct 
+                  _src: instance of struct c_struct 
+                returning 
+                  instance of struct c_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct c_struct 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to char 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            char 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct c_struct 
+--- results are
+        pointer to char 
+
+converting pointer to char 
+ to pointer to char 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          char 
+        from aggregate: 
+          Variable Expression: _src: instance of struct c_struct 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to char 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to char 
+        char 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              char 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                  Member Expression, with field: 
+            char 
+          from aggregate: 
+            Variable Expression: _src: instance of struct c_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to char 
+        char 
+      returning 
+        char 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        char 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct c_struct 
+
+      Member Expression, with field: 
+      char 
+    from aggregate: 
+      Variable Expression: _src: instance of struct c_struct 
+
+(types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          char 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct c_struct 
+
+          Member Expression, with field: 
+        char 
+      from aggregate: 
+        Variable Expression: _src: instance of struct c_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct c_struct 
+    _src: instance of struct c_struct 
+  returning 
+    instance of struct c_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+              Member Expression, with field: 
+                float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct c_struct 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union b_struct 
+    _src: instance of union b_struct 
+  returning 
+    instance of union b_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union b_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union b_struct 
+
+                          Sizeof Expression on: instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct c_struct 
+          _src: instance of struct c_struct 
+        returning 
+          instance of struct c_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of union b_struct 
+          _src: instance of union b_struct 
+        returning 
+          instance of union b_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    float 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    pointer to float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    float 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct c_struct 
+(types:
+    pointer to float 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to float 
+formal type is float 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of union b_struct 
+              _src: instance of union b_struct 
+            returning 
+              instance of union b_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of union b_struct 
+                  _src: instance of union b_struct 
+                returning 
+                  instance of union b_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of union b_struct 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct c_struct 
+              _src: instance of struct c_struct 
+            returning 
+              instance of struct c_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct c_struct 
+                  _src: instance of struct c_struct 
+                returning 
+                  instance of struct c_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct c_struct 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to float 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to float 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            float 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct c_struct 
+--- results are
+        pointer to float 
+
+converting pointer to float 
+ to pointer to float 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          float 
+        from aggregate: 
+          Variable Expression: _src: instance of struct c_struct 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to float 
+        float 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              float 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                  Member Expression, with field: 
+            float 
+          from aggregate: 
+            Variable Expression: _src: instance of struct c_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to float 
+        float 
+      returning 
+        float 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        float 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct c_struct 
+
+      Member Expression, with field: 
+      float 
+    from aggregate: 
+      Variable Expression: _src: instance of struct c_struct 
+
+(types:
+    float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          float 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct c_struct 
+
+          Member Expression, with field: 
+        float 
+      from aggregate: 
+        Variable Expression: _src: instance of struct c_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct c_struct 
+
+to:
+  instance of struct c_struct 
+(types:
+    instance of struct c_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is __builtin_memcpy
+decl is __builtin_memcpy: function
+    accepting unspecified arguments
+  returning 
+    pointer to char 
+
+newExpr is Variable Expression: __builtin_memcpy: function
+      accepting unspecified arguments
+    returning 
+      pointer to char 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: __builtin_memcpy: function
+      accepting unspecified arguments
+    returning 
+      pointer to char 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          pointer to char 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union d_struct 
+(types:
+    lvalue pointer to instance of union d_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of union d_struct 
+(types:
+    lvalue pointer to instance of union d_struct 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _src: instance of union d_struct 
+(types:
+    pointer to instance of union d_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: _src: instance of union d_struct 
+(types:
+    pointer to instance of union d_struct 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union d_struct 
+(types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Sizeof Expression on: instance of union d_struct 
+(types:
+    unsigned int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: __builtin_memcpy: function
+              accepting unspecified arguments
+            returning 
+              pointer to char 
+
+(types:
+            pointer to function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+)
+        Environment: 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: _dst: pointer to instance of union d_struct 
+--- results are
+        lvalue pointer to instance of union d_struct 
+actual expression:
+        Address of:
+          Variable Expression: _src: instance of union d_struct 
+--- results are
+        pointer to instance of union d_struct 
+actual expression:
+        Sizeof Expression on: instance of union d_struct 
+--- results are
+        unsigned int 
+Case +++++++++++++
+formals are:
+actuals are:
+                  Variable Expression: _dst: pointer to instance of union d_struct 
+
+                  Address of:
+            Variable Expression: _src: instance of union d_struct 
+
+                  Sizeof Expression on: instance of union d_struct 
+
+bindings are:
+cost of conversion is:( 3, 0, 0 )
+alternatives before prune:
+Cost ( 3, 0, 0 ): Application of
+  Variable Expression: __builtin_memcpy: function
+        accepting unspecified arguments
+      returning 
+        pointer to char 
+
+to arguments
+      Variable Expression: _dst: pointer to instance of union d_struct 
+
+      Address of:
+      Variable Expression: _src: instance of union d_struct 
+
+      Sizeof Expression on: instance of union d_struct 
+
+(types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: __builtin_memcpy: function
+          accepting unspecified arguments
+        returning 
+          pointer to char 
+
+  to arguments
+          Variable Expression: _dst: pointer to instance of union d_struct 
+
+          Address of:
+        Variable Expression: _src: instance of union d_struct 
+
+          Sizeof Expression on: instance of union d_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of union d_struct 
+
+to:
+  instance of union d_struct 
+(types:
+    instance of union d_struct 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: function
+  with parameters
+    char 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: a: function
+    with parameters
+      char 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: function
+    with parameters
+      char 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          char 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+decl is x: instance of struct c_struct 
+newExpr is Variable Expression: x: instance of struct c_struct 
+
+decl is x: instance of union d_struct 
+newExpr is Variable Expression: x: instance of union d_struct 
+
+decl is x: short unsigned int 
+newExpr is Variable Expression: x: short unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: a: function
+            with parameters
+              char 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  char 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is char 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue short unsigned int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is char 
+actual type is lvalue pointer to signed int 
+formal type is char 
+actual type is lvalue pointer to float 
+formal type is char 
+actual type is lvalue pointer to char 
+formal type is char 
+actual type is lvalue instance of union d_struct 
+formal type is char 
+actual type is lvalue instance of struct c_struct 
+actual expression:
+        Member Expression, with field: 
+          signed int 
+        from aggregate: 
+          Variable Expression: x: instance of struct c_struct 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to char 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              signed int 
+            from aggregate: 
+              Variable Expression: x: instance of struct c_struct 
+
+          to:
+            char 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          float 
+        from aggregate: 
+          Variable Expression: x: instance of struct c_struct 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to char 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              float 
+            from aggregate: 
+              Variable Expression: x: instance of struct c_struct 
+
+          to:
+            char 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          char 
+        from aggregate: 
+          Variable Expression: x: instance of struct c_struct 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to char 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Member Expression, with field: 
+            char 
+          from aggregate: 
+            Variable Expression: x: instance of struct c_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: x: short unsigned int 
+--- results are
+        lvalue short unsigned int 
+
+converting lvalue short unsigned int 
+ to char 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        char 
+actuals are:
+                  Cast of:
+            Variable Expression: x: short unsigned int 
+
+          to:
+            char 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: a: function
+      with parameters
+        char 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Variable Expression: x: short unsigned int 
+
+    to:
+      char 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: a: function
+        with parameters
+          char 
+        returning 
+          nothing 
+
+  to arguments
+          Cast of:
+        Variable Expression: x: short unsigned int 
+
+      to:
+        char 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: b: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+decl is x: instance of struct c_struct 
+newExpr is Variable Expression: x: instance of struct c_struct 
+
+decl is x: instance of union d_struct 
+newExpr is Variable Expression: x: instance of union d_struct 
+
+decl is x: short unsigned int 
+newExpr is Variable Expression: x: short unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: b: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue short unsigned int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue pointer to signed int 
+formal type is signed int 
+actual type is lvalue pointer to float 
+formal type is signed int 
+actual type is lvalue pointer to char 
+formal type is signed int 
+actual type is lvalue instance of union d_struct 
+formal type is signed int 
+actual type is lvalue instance of struct c_struct 
+actual expression:
+        Member Expression, with field: 
+          signed int 
+        from aggregate: 
+          Variable Expression: x: instance of struct c_struct 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Member Expression, with field: 
+            signed int 
+          from aggregate: 
+            Variable Expression: x: instance of struct c_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          float 
+        from aggregate: 
+          Variable Expression: x: instance of struct c_struct 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              float 
+            from aggregate: 
+              Variable Expression: x: instance of struct c_struct 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          char 
+        from aggregate: 
+          Variable Expression: x: instance of struct c_struct 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Member Expression, with field: 
+              char 
+            from aggregate: 
+              Variable Expression: x: instance of struct c_struct 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 4 )
+actual expression:
+        Variable Expression: x: short unsigned int 
+--- results are
+        lvalue short unsigned int 
+
+converting lvalue short unsigned int 
+ to signed int 
+cost is( 0, 0, 1 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: x: short unsigned int 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 1 )
+alternatives before prune:
+Cost ( 0, 0, 1 ): Application of
+  Variable Expression: b: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Variable Expression: x: short unsigned int 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: b: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Cast of:
+        Variable Expression: x: short unsigned int 
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is c
+decl is c: function
+  with parameters
+    pointer to signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: c: function
+    with parameters
+      pointer to signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: function
+    with parameters
+      pointer to signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+decl is x: instance of struct c_struct 
+newExpr is Variable Expression: x: instance of struct c_struct 
+
+decl is x: instance of union d_struct 
+newExpr is Variable Expression: x: instance of union d_struct 
+
+decl is x: short unsigned int 
+newExpr is Variable Expression: x: short unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: c: function
+            with parameters
+              pointer to signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is lvalue signed int 
+formal type is pointer to signed int 
+actual type is lvalue float 
+formal type is pointer to signed int 
+actual type is lvalue char 
+formal type is pointer to signed int 
+actual type is lvalue short unsigned int 
+formal type is pointer to signed int 
+actual type is lvalue pointer to signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is pointer to signed int 
+actual type is lvalue pointer to float 
+formal type is pointer to signed int 
+actual type is lvalue pointer to char 
+formal type is pointer to signed int 
+actual type is lvalue instance of union d_struct 
+formal type is pointer to signed int 
+actual type is lvalue instance of struct c_struct 
+actual expression:
+        Member Expression, with field: 
+          pointer to signed int 
+        from aggregate: 
+          Variable Expression: x: instance of union d_struct 
+--- results are
+        lvalue pointer to signed int 
+
+converting lvalue pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+actuals are:
+                  Member Expression, with field: 
+            pointer to signed int 
+          from aggregate: 
+            Variable Expression: x: instance of union d_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: c: function
+      with parameters
+        pointer to signed int 
+      returning 
+        nothing 
+
+to arguments
+      Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: x: instance of union d_struct 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: c: function
+        with parameters
+          pointer to signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Variable Expression: x: instance of union d_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is d
+decl is d: function
+  with parameters
+    pointer to float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: d: function
+    with parameters
+      pointer to float 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: function
+    with parameters
+      pointer to float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+decl is x: instance of struct c_struct 
+newExpr is Variable Expression: x: instance of struct c_struct 
+
+decl is x: instance of union d_struct 
+newExpr is Variable Expression: x: instance of union d_struct 
+
+decl is x: short unsigned int 
+newExpr is Variable Expression: x: short unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  float 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  char 
+from aggregate: 
+  Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: short unsigned int 
+(types:
+    lvalue short unsigned int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to float 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to float 
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Member Expression, with field: 
+  pointer to char 
+from aggregate: 
+  Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of union d_struct 
+(types:
+    lvalue instance of union d_struct 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: instance of struct c_struct 
+(types:
+    lvalue instance of struct c_struct 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: d: function
+            with parameters
+              pointer to float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is lvalue signed int 
+formal type is pointer to float 
+actual type is lvalue float 
+formal type is pointer to float 
+actual type is lvalue char 
+formal type is pointer to float 
+actual type is lvalue short unsigned int 
+formal type is pointer to float 
+actual type is lvalue pointer to signed int 
+formal type is pointer to float 
+actual type is lvalue pointer to float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is pointer to float 
+actual type is lvalue pointer to char 
+formal type is pointer to float 
+actual type is lvalue instance of union d_struct 
+formal type is pointer to float 
+actual type is lvalue instance of struct c_struct 
+actual expression:
+        Member Expression, with field: 
+          pointer to float 
+        from aggregate: 
+          Variable Expression: x: instance of union d_struct 
+--- results are
+        lvalue pointer to float 
+
+converting lvalue pointer to float 
+ to pointer to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to float 
+actuals are:
+                  Member Expression, with field: 
+            pointer to float 
+          from aggregate: 
+            Variable Expression: x: instance of union d_struct 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: d: function
+      with parameters
+        pointer to float 
+      returning 
+        nothing 
+
+to arguments
+      Member Expression, with field: 
+      pointer to float 
+    from aggregate: 
+      Variable Expression: x: instance of union d_struct 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: d: function
+        with parameters
+          pointer to float 
+        returning 
+          nothing 
+
+  to arguments
+          Member Expression, with field: 
+        pointer to float 
+      from aggregate: 
+        Variable Expression: x: instance of union d_struct 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+newExpr is Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct forward 
+    _src: instance of struct forward 
+  returning 
+    instance of struct forward 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct forward 
+              Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct forward 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct forward 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct forward 
+      _src: instance of struct forward 
+    returning 
+      instance of struct forward 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct c_struct 
+    _src: instance of struct c_struct 
+  returning 
+    instance of struct c_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct c_struct 
+
+to:
+  instance of struct c_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union b_struct 
+    _src: instance of union b_struct 
+  returning 
+    instance of union b_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union b_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union b_struct 
+
+                          Sizeof Expression on: instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union d_struct 
+    _src: instance of union d_struct 
+  returning 
+    instance of union d_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union d_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union d_struct 
+
+                          Sizeof Expression on: instance of union d_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union d_struct 
+
+to:
+  instance of union d_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union d_struct 
+      _src: instance of union d_struct 
+    returning 
+      instance of union d_struct 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    pointer to forall
+          _0_DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type _0_DT (not function type) 
+          pointer to instance of type _0_DT (not function type) 
+        returning 
+          pointer to instance of type _0_DT (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct forward 
+      _src: instance of struct forward 
+    returning 
+      instance of struct forward 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct forward 
+          _src: instance of struct forward 
+        returning 
+          instance of struct forward 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct a_struct 
+      _src: instance of struct a_struct 
+    returning 
+      instance of struct a_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct a_struct 
+          _src: instance of struct a_struct 
+        returning 
+          instance of struct a_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct c_struct 
+      _src: instance of struct c_struct 
+    returning 
+      instance of struct c_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct c_struct 
+          _src: instance of struct c_struct 
+        returning 
+          instance of struct c_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union b_struct 
+      _src: instance of union b_struct 
+    returning 
+      instance of union b_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of union b_struct 
+          _src: instance of union b_struct 
+        returning 
+          instance of union b_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of union d_struct 
+      _src: instance of union d_struct 
+    returning 
+      instance of union d_struct 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of union d_struct 
+          _src: instance of union d_struct 
+        returning 
+          instance of union d_struct 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to char 
+      char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to char 
+          char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to float 
+      float 
+    returning 
+      float 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to float 
+          float 
+        returning 
+          float 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 9 alternatives before elimination
+there are 9 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct forward 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct forward 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct forward 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct forward 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct forward 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to float 
+              float 
+            returning 
+              float 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+)
+        Environment: 
+formal type is pointer to float 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to char 
+              char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of union d_struct 
+              _src: instance of union d_struct 
+            returning 
+              instance of union d_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of union d_struct 
+                  _src: instance of union d_struct 
+                returning 
+                  instance of union d_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of union d_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of union b_struct 
+              _src: instance of union b_struct 
+            returning 
+              instance of union b_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of union b_struct 
+                  _src: instance of union b_struct 
+                returning 
+                  instance of union b_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of union b_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct c_struct 
+              _src: instance of struct c_struct 
+            returning 
+              instance of struct c_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct c_struct 
+                  _src: instance of struct c_struct 
+                returning 
+                  instance of struct c_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct c_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct a_struct 
+              _src: instance of struct a_struct 
+            returning 
+              instance of struct a_struct 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct a_struct 
+                  _src: instance of struct a_struct 
+                returning 
+                  instance of struct a_struct 
+
+)
+        Environment: 
+formal type is pointer to instance of struct a_struct 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct forward 
+              _src: instance of struct forward 
+            returning 
+              instance of struct forward 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct forward 
+                  _src: instance of struct forward 
+                returning 
+                  instance of struct forward 
+
+)
+        Environment: 
+formal type is pointer to instance of struct forward 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+(types:
+            pointer to forall
+                  _0_DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type _0_DT (not function type) 
+                  pointer to instance of type _0_DT (not function type) 
+                returning 
+                  pointer to instance of type _0_DT (not function type) 
+
+)
+        Environment: 
+formal type is pointer to pointer to instance of type _0_DT (not function type) 
+actual type is pointer to signed int 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            y: signed int 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct forward 
+--- results are
+        pointer to signed int 
+
+converting pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          y: signed int 
+        from aggregate: 
+          Variable Expression: _src: instance of struct forward 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+        signed int 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              y: signed int 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct forward 
+
+                  Member Expression, with field: 
+            y: signed int 
+          from aggregate: 
+            Variable Expression: _src: instance of struct forward 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct forward 
+
+      Member Expression, with field: 
+      y: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct forward 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          y: signed int 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct forward 
+
+          Member Expression, with field: 
+        y: signed int 
+      from aggregate: 
+        Variable Expression: _src: instance of struct forward 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct forward 
+(types:
+    lvalue instance of struct forward 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct forward 
+
+to:
+  instance of struct forward 
+(types:
+    instance of struct forward 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is *?
+decl is *?: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    pointer to instance of type T (not function type) 
+  returning 
+    lvalue instance of type T (not function type) 
+
+newExpr is Variable Expression: *?: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type T (not function type) 
+    returning 
+      lvalue instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: *?: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type T (not function type) 
+    returning 
+      lvalue instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type _0_T (not function type) 
+        returning 
+          lvalue instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is q
+decl is q: pointer to instance of struct forward 
+newExpr is Variable Expression: q: pointer to instance of struct forward 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: pointer to instance of struct forward 
+(types:
+    lvalue pointer to instance of struct forward 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: q: pointer to instance of struct forward 
+(types:
+    lvalue pointer to instance of struct forward 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: *?: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              pointer to instance of type T (not function type) 
+            returning 
+              lvalue instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  pointer to instance of type _0_T (not function type) 
+                returning 
+                  lvalue instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type _0_T (not function type) 
+actual type is lvalue pointer to instance of struct forward 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to forall
+    _1_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _1_DT (not function type) 
+    pointer to instance of type _1_DT (not function type) 
+  returning 
+    pointer to instance of type _1_DT (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct forward 
+    _src: instance of struct forward 
+  returning 
+    instance of struct forward 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct forward 
+
+                          Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct forward 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct forward 
+
+to:
+  instance of struct forward 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of struct forward 
+    _src: instance of struct forward 
+  returning 
+    instance of struct forward 
+
+success!
+satisfying assertion 25 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 79 ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct forward 
+    _src: instance of struct forward 
+  returning 
+    instance of struct forward 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  y: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct forward 
+
+                          Member Expression, with field: 
+                y: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct forward 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct forward 
+
+to:
+  instance of struct forward 
+with environment:
+  Types:
+  Non-types:
+
+
+
+inferRecursive: candidate is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  a: float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct a_struct 
+
+                          Member Expression, with field: 
+                a: float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct a_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct a_struct 
+
+to:
+  instance of struct a_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of struct a_struct 
+    _src: instance of struct a_struct 
+  returning 
+    instance of struct a_struct 
+
+inferRecursive: candidate is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct c_struct 
+    _src: instance of struct c_struct 
+  returning 
+    instance of struct c_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to char 
+                  char 
+                returning 
+                  char 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  char 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                char 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: function
+                with parameters
+                  pointer to float 
+                  float 
+                returning 
+                  float 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  float 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct c_struct 
+
+                          Member Expression, with field: 
+                float 
+              from aggregate: 
+                Variable Expression: _src: instance of struct c_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct c_struct 
+
+to:
+  instance of struct c_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of struct c_struct 
+    _src: instance of struct c_struct 
+  returning 
+    instance of struct c_struct 
+
+inferRecursive: candidate is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union b_struct 
+    _src: instance of union b_struct 
+  returning 
+    instance of union b_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union b_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union b_struct 
+
+                          Sizeof Expression on: instance of union b_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union b_struct 
+
+to:
+  instance of union b_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of union b_struct 
+    _src: instance of union b_struct 
+  returning 
+    instance of union b_struct 
+
+inferRecursive: candidate is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of union d_struct 
+    _src: instance of union d_struct 
+  returning 
+    instance of union d_struct 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Application of
+            Variable Expression: __builtin_memcpy: function
+                  accepting unspecified arguments
+                returning 
+                  pointer to char 
+
+          to arguments
+                          Variable Expression: _dst: pointer to instance of union d_struct 
+
+                          Address of:
+                Variable Expression: _src: instance of union d_struct 
+
+                          Sizeof Expression on: instance of union d_struct 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of union d_struct 
+
+to:
+  instance of union d_struct 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of union d_struct 
+    _src: instance of union d_struct 
+  returning 
+    instance of union d_struct 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to char 
+    char 
+  returning 
+    char 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to float 
+    float 
+  returning 
+    float 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: q: pointer to instance of struct forward 
+--- results are
+        lvalue pointer to instance of struct forward 
+
+converting lvalue pointer to instance of struct forward 
+ to pointer to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            _dst: pointer to instance of struct forward 
+            _src: instance of struct forward 
+          returning 
+            instance of struct forward 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type _0_T (not function type) 
+actuals are:
+                  Variable Expression: q: pointer to instance of struct forward 
+
+bindings are:
+        ( _0_T ) -> instance of struct forward  (no widening)
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: *?: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        pointer to instance of type T (not function type) 
+      returning 
+        lvalue instance of type T (not function type) 
+
+to arguments
+      Variable Expression: q: pointer to instance of struct forward 
+
+with inferred parameters:
+  ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct forward 
+      _src: instance of struct forward 
+    returning 
+      instance of struct forward 
+
+(types:
+    lvalue instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> instance of struct forward  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 4, 0 ): Member Expression, with field: 
+  y: signed int 
+from aggregate: 
+  Application of
+    Variable Expression: *?: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type T (not function type) 
+        returning 
+          lvalue instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: q: pointer to instance of struct forward 
+
+  with inferred parameters:
+    ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct forward 
+        _src: instance of struct forward 
+      returning 
+        instance of struct forward 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Member Expression, with field: 
+    y: signed int 
+  from aggregate: 
+    Application of
+      Variable Expression: *?: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            pointer to instance of type T (not function type) 
+          returning 
+            lvalue instance of type T (not function type) 
+
+    to arguments
+              Variable Expression: q: pointer to instance of struct forward 
+
+    with inferred parameters:
+      ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct forward 
+          _src: instance of struct forward 
+        returning 
+          instance of struct forward 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: unbound type variable in application Application of
+  Variable Expression: *?: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        pointer to instance of type T (not function type) 
+      returning 
+        pointer to instance of type T (not function type) 
+
+to arguments
+      Variable Expression: q: pointer to instance of struct forward 
+
+with inferred parameters:
+  ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct forward 
+      _src: instance of struct forward 
+    returning 
+      instance of struct forward 
+
+
Index: src/Tests/Expect-r/Misc.txt
===================================================================
--- src/Tests/Expect-r/Misc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Misc.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1510 @@
+nameExpr is g
+decl is g: function
+  with parameters
+    unsigned int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          unsigned int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: a: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: float 
+newExpr is Variable Expression: b: float 
+
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              unsigned int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  unsigned int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is unsigned int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is unsigned int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: b: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Comma Expression:
+              Variable Expression: a: signed int 
+
+              Variable Expression: b: float 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to unsigned int 
+cost is( 0, 0, 1 )
+Case +++++++++++++
+formals are:
+        unsigned int 
+actuals are:
+                  Cast of:
+            Comma Expression:
+              Variable Expression: a: signed int 
+
+              Variable Expression: b: signed int 
+
+          to:
+            unsigned int 
+
+bindings are:
+cost of conversion is:( 0, 0, 1 )
+actual expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to unsigned int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        unsigned int 
+actuals are:
+                  Cast of:
+            Comma Expression:
+              Variable Expression: a: signed int 
+
+              Variable Expression: b: float 
+
+          to:
+            unsigned int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Comma Expression:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Comma Expression:
+        Variable Expression: a: signed int 
+
+        Variable Expression: b: float 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Application of
+  Variable Expression: g: function
+      with parameters
+        unsigned int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Comma Expression:
+        Variable Expression: a: signed int 
+
+        Variable Expression: b: signed int 
+
+    to:
+      unsigned int 
+
+(types:
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        unsigned int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Comma Expression:
+        Variable Expression: a: signed int 
+
+        Variable Expression: b: float 
+
+    to:
+      unsigned int 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Comma Expression:
+        Variable Expression: a: signed int 
+
+        Variable Expression: b: signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    unsigned int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          unsigned int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: a: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: a: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: float 
+newExpr is Variable Expression: b: float 
+
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Comma Expression:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: a: signed int 
+
+  Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Comma Expression:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: a: signed int 
+
+  Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Comma Expression:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: a: signed int 
+
+  Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Comma Expression:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: a: signed int 
+
+  Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              unsigned int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  unsigned int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is unsigned int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is unsigned int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Comma Expression:
+          Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Comma Expression:
+            Comma Expression:
+              Variable Expression: a: signed int 
+
+              Variable Expression: a: signed int 
+
+            Variable Expression: b: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Comma Expression:
+          Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: a: signed int 
+
+          Variable Expression: b: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Comma Expression:
+              Comma Expression:
+                Variable Expression: a: signed int 
+
+                Variable Expression: a: signed int 
+
+              Variable Expression: b: float 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Comma Expression:
+          Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to unsigned int 
+cost is( 0, 0, 1 )
+Case +++++++++++++
+formals are:
+        unsigned int 
+actuals are:
+                  Cast of:
+            Comma Expression:
+              Comma Expression:
+                Variable Expression: a: signed int 
+
+                Variable Expression: a: signed int 
+
+              Variable Expression: b: signed int 
+
+          to:
+            unsigned int 
+
+bindings are:
+cost of conversion is:( 0, 0, 1 )
+actual expression:
+        Comma Expression:
+          Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: a: signed int 
+
+          Variable Expression: b: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to unsigned int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        unsigned int 
+actuals are:
+                  Cast of:
+            Comma Expression:
+              Comma Expression:
+                Variable Expression: a: signed int 
+
+                Variable Expression: a: signed int 
+
+              Variable Expression: b: float 
+
+          to:
+            unsigned int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Comma Expression:
+      Comma Expression:
+        Variable Expression: a: signed int 
+
+        Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Comma Expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: a: signed int 
+
+        Variable Expression: b: float 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Application of
+  Variable Expression: g: function
+      with parameters
+        unsigned int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Comma Expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: a: signed int 
+
+        Variable Expression: b: signed int 
+
+    to:
+      unsigned int 
+
+(types:
+)
+Environment: 
+
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        unsigned int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Comma Expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: a: signed int 
+
+        Variable Expression: b: float 
+
+    to:
+      unsigned int 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Comma Expression:
+        Comma Expression:
+          Variable Expression: a: signed int 
+
+          Variable Expression: a: signed int 
+
+        Variable Expression: b: signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    unsigned int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          unsigned int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Sizeof Expression on:   Variable Expression: a: signed int 
+
+(types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Sizeof Expression on:   Variable Expression: a: signed int 
+
+(types:
+    unsigned int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is unsigned int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              unsigned int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  unsigned int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is unsigned int 
+actual type is unsigned int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Sizeof Expression on:           Variable Expression: a: signed int 
+
+--- results are
+        unsigned int 
+
+converting unsigned int 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Sizeof Expression on:               Variable Expression: a: signed int 
+
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Sizeof Expression on:           Variable Expression: a: signed int 
+
+--- results are
+        unsigned int 
+
+converting unsigned int 
+ to unsigned int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        unsigned int 
+actuals are:
+                  Sizeof Expression on:             Variable Expression: a: signed int 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Sizeof Expression on:         Variable Expression: a: signed int 
+
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        unsigned int 
+      returning 
+        nothing 
+
+to arguments
+      Sizeof Expression on:       Variable Expression: a: signed int 
+
+
+(types:
+)
+Environment: 
+
+cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          unsigned int 
+        returning 
+          nothing 
+
+  to arguments
+          Sizeof Expression on:         Variable Expression: a: signed int 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    unsigned int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      unsigned int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          unsigned int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Sizeof Expression on: signed int 
+(types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Sizeof Expression on: signed int 
+(types:
+    unsigned int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is unsigned int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              unsigned int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  unsigned int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is unsigned int 
+actual type is unsigned int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Sizeof Expression on: signed int 
+--- results are
+        unsigned int 
+
+converting unsigned int 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Sizeof Expression on: signed int 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Sizeof Expression on: signed int 
+--- results are
+        unsigned int 
+
+converting unsigned int 
+ to unsigned int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        unsigned int 
+actuals are:
+                  Sizeof Expression on: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Sizeof Expression on: signed int 
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        unsigned int 
+      returning 
+        nothing 
+
+to arguments
+      Sizeof Expression on: signed int 
+
+(types:
+)
+Environment: 
+
+cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          unsigned int 
+        returning 
+          nothing 
+
+  to arguments
+          Sizeof Expression on: signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int __a__i;
+int __b__i;
+float __b__f;
+void __g__F_i_(int );
+void __g__F_Ui_(unsigned int );
+void __f__F__(void){
+    __g__F_i_((__a__i , __b__i));
+    __g__F_i_(((__a__i , __a__i) , __b__i));
+    __g__F_Ui_(sizeof(__a__i));
+    __g__F_Ui_(sizeof(int ));
+}
Index: src/Tests/Expect-r/MiscError.txt
===================================================================
--- src/Tests/Expect-r/MiscError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/MiscError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,385 @@
+nameExpr is g
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: float 
+newExpr is Variable Expression: b: float 
+
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: b: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: b: float 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+marking ambiguous
+there are 1 alternatives before elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: float 
+newExpr is Variable Expression: b: float 
+
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: b: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: b: float 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+marking ambiguous
+there are 1 alternatives before elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: a: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: float 
+newExpr is Variable Expression: b: float 
+
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Comma Expression:
+  Variable Expression: a: signed int 
+
+  Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: b: signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 1 ): Cast of:
+  Comma Expression:
+    Variable Expression: a: signed int 
+
+    Variable Expression: b: float 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+marking ambiguous
+there are 1 alternatives before elimination
+nameExpr is b
+decl is b: float 
+newExpr is Variable Expression: b: float 
+
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+Error: Can't choose between alternatives for expression Cast of:
+  Name: b
+
+to:
+  nothing
+Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: signed int 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: float 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+
+Error: Can't choose between alternatives for expression Cast of:
+  Name: b
+
+to:
+  nothing
+Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: signed int 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+        Cost ( 0, 0, 1 ):         Cast of:
+          Variable Expression: b: float 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+
+Error: Can't choose between alternatives for expression Cast of:
+  Comma Expression:
+    Name: a
+
+    Name: b
+
+to:
+  nothing
+Alternatives are:        Cost ( 0, 0, 1 ):         Cast of:
+          Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: b: signed int 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+        Cost ( 0, 0, 1 ):         Cast of:
+          Comma Expression:
+            Variable Expression: a: signed int 
+
+            Variable Expression: b: float 
+
+        to:
+          nothing
+(types:
+)
+        Environment: 
+
+
+Error: Ambiguous expression in sizeof operand: Name: b
+
Index: src/Tests/Expect-r/NamedParmArg.txt
===================================================================
--- src/Tests/Expect-r/NamedParmArg.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/NamedParmArg.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1095 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+constant expression 3 signed int 
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 0
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+constant expression 3 signed int 
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f1: function
+            with parameters
+              i: signed int with initializer 
+                Simple Initializer:                   Cast of:
+constant expression 3 signed int 
+                  to:
+                    signed int 
+                  with environment:
+                    Types:
+                    Non-types:
+
+              j: pointer to signed int with initializer 
+                Simple Initializer:                   Name: 0
+
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  i: signed int with initializer 
+                    Simple Initializer:                       Cast of:
+constant expression 3 signed int 
+                      to:
+                        signed int 
+                      with environment:
+                        Types:
+                        Non-types:
+
+                  j: pointer to signed int with initializer 
+                    Simple Initializer:                       Name: 0
+
+                returning 
+                  signed int 
+
+)
+        Environment: 
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f1: function
+            with parameters
+              i: signed int with initializer 
+                Simple Initializer:                   Cast of:
+constant expression 3 signed int 
+                  to:
+                    signed int 
+                  with environment:
+                    Types:
+                    Non-types:
+
+              j: pointer to signed int with initializer 
+                Simple Initializer:                   Name: 0
+
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  i: signed int with initializer 
+                    Simple Initializer:                       Cast of:
+constant expression 3 signed int 
+                      to:
+                        signed int 
+                      with environment:
+                        Types:
+                        Non-types:
+
+                  j: pointer to signed int with initializer 
+                    Simple Initializer:                       Name: 0
+
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f1: function
+            with parameters
+              i: signed int with initializer 
+                Simple Initializer:                   Cast of:
+constant expression 3 signed int 
+                  to:
+                    signed int 
+                  with environment:
+                    Types:
+                    Non-types:
+
+              j: pointer to signed int with initializer 
+                Simple Initializer:                   Name: 0
+
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  i: signed int with initializer 
+                    Simple Initializer:                       Cast of:
+constant expression 3 signed int 
+                      to:
+                        signed int 
+                      with environment:
+                        Types:
+                        Non-types:
+
+                  j: pointer to signed int with initializer 
+                    Simple Initializer:                       Name: 0
+
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is 0
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is 0
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 0
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int with designator:  Name: i
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int with designator:  Name: i
+(types:
+    signed int 
+)
+Environment: 
+
+nameExpr is 0
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 0
+nameExpr is f1
+decl is f1: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int with initializer 
+      Simple Initializer:         Name: 0
+
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f1: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int with initializer 
+        Simple Initializer:           Name: 0
+
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int with initializer 
+            Simple Initializer:               Name: 0
+
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f2
+decl is f2: function
+  with parameters
+    i: signed int with initializer 
+      Simple Initializer:         Cast of:
+constant expression 3 signed int 
+        to:
+          signed int 
+        with environment:
+          Types:
+          Non-types:
+
+    j: pointer to signed int 
+  returning 
+    signed int 
+    signed int 
+  with body 
+    CompoundStmt
+
+newExpr is Variable Expression: f2: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int 
+    returning 
+      signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f2: function
+    with parameters
+      i: signed int with initializer 
+        Simple Initializer:           Cast of:
+constant expression 3 signed int 
+          to:
+            signed int 
+          with environment:
+            Types:
+            Non-types:
+
+      j: pointer to signed int 
+    returning 
+      signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          i: signed int with initializer 
+            Simple Initializer:               Cast of:
+constant expression 3 signed int 
+              to:
+                signed int 
+              with environment:
+                Types:
+                Non-types:
+
+          j: pointer to signed int 
+        returning 
+          signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f2: function
+            with parameters
+              i: signed int with initializer 
+                Simple Initializer:                   Cast of:
+constant expression 3 signed int 
+                  to:
+                    signed int 
+                  with environment:
+                    Types:
+                    Non-types:
+
+              j: pointer to signed int 
+            returning 
+              signed int 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  i: signed int with initializer 
+                    Simple Initializer:                       Cast of:
+constant expression 3 signed int 
+                      to:
+                        signed int 
+                      with environment:
+                        Types:
+                        Non-types:
+
+                  j: pointer to signed int 
+                returning 
+                  signed int 
+                  signed int 
+
+)
+        Environment: 
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f1
+...to: 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f1
+...to: 
+constant expression 3 signed int 
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f1
+...to: 
+constant expression 3 signed int 
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Name: 0
+with designator:  Name: j
+
+Error: No reasonable alternatives for expression Name: 0
+with designator:  Name: j
+
+Error: No reasonable alternatives for expression Name: 0
+with designator:  Name: j
+
+Error: No reasonable alternatives for expression Name: 0
+with designator:  Name: j
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f2
+...to: 
+with designator:  Tuple:
+          Name: j
+
+          Name: i
+
+
Index: src/Tests/Expect-r/NumericConstants.txt
===================================================================
--- src/Tests/Expect-r/NumericConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/NumericConstants.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,744 @@
+nameExpr is 1
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 21 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 21 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 2147483647 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 2147483647 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 37LL long long signed int (types:
+    long long signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 37LL long long signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 45ull long long unsigned int (types:
+    long long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 45ull long long unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 89llu long long unsigned int (types:
+    long long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 89llu long long unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 99LLu long long unsigned int (types:
+    long long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 99LLu long long unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 56lu long unsigned int (types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 56lu long unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 88LLu long long unsigned int (types:
+    long long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 88LLu long long unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0u unsigned int (types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0u unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0377 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0377 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0377ul long unsigned int (types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0377ul long unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0x1 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0x1 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0x1u unsigned int (types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0x1u unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0xabL long signed int (types:
+    long signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0xabL long signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0x80000000 unsigned int (types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0x80000000 unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0xfff signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0xfff signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0xef3daa5c unsigned int (types:
+    unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0xef3daa5c unsigned int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0x3LL long long signed int (types:
+    long long signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0x3LL long long signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3. double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3. double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3100. double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3100. double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 1000000. double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 1000000. double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.1 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.1 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.141592654L long double (types:
+    long double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.141592654L long double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 123456.123456 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 123456.123456 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3E1 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3E1 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3e1f float (types:
+    float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3e1f float 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3E11F float (types:
+    float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3E11F float 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3E11 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3E11 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3e+11 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3e+11 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3E-11 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3E-11 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0E1 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.0E1 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0E1L long double (types:
+    long double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.0E1L long double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0e11 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.0e11 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0E11l long double (types:
+    long double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.0E11l long double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0e+11l long double (types:
+    long double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.0e+11l long double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.0E-11 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3.0E-11 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 123456.123456E-16 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 123456.123456E-16 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0xff.ffp0 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0xff.ffp0 double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 0x1.ffffffffp128l long double (types:
+    long double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 0x1.ffffffffp128l long double 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Name: 1
+
Index: src/Tests/Expect-r/OccursError.txt
===================================================================
--- src/Tests/Expect-r/OccursError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/OccursError.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,303 @@
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    pointer to function
+        with parameters
+          instance of type T (not function type) 
+          pointer to instance of type T (not function type) 
+        returning 
+          nothing 
+
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to function
+          with parameters
+            instance of type T (not function type) 
+            pointer to instance of type T (not function type) 
+          returning 
+            nothing 
+
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      pointer to function
+          with parameters
+            instance of type T (not function type) 
+            pointer to instance of type T (not function type) 
+          returning 
+            nothing 
+
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          pointer to function
+              with parameters
+                instance of type _0_T (not function type) 
+                pointer to instance of type _0_T (not function type) 
+              returning 
+                nothing 
+
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: forall
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    pointer to instance of type U (not function type) 
+    instance of type U (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: forall
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type U (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: forall
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type U (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_U (not function type) 
+                    instance of type _1_U (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type _1_U (not function type) 
+          instance of type _1_U (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: g: forall
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      pointer to instance of type U (not function type) 
+      instance of type U (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_U (not function type) 
+                    instance of type _1_U (not function type) 
+                  returning 
+                    instance of type _1_U (not function type) 
+
+
+        function
+        with parameters
+          pointer to instance of type _1_U (not function type) 
+          instance of type _1_U (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              pointer to function
+                  with parameters
+                    instance of type T (not function type) 
+                    pointer to instance of type T (not function type) 
+                  returning 
+                    nothing 
+
+            returning 
+              nothing 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  pointer to function
+                      with parameters
+                        instance of type _0_T (not function type) 
+                        pointer to instance of type _0_T (not function type) 
+                      returning 
+                        nothing 
+
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    pointer to instance of type _0_T (not function type) 
+  returning 
+    nothing 
+
+actual type is pointer to forall
+    _1_U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _1_U (not function type) 
+              instance of type _1_U (not function type) 
+            returning 
+              instance of type _1_U (not function type) 
+
+
+  function
+  with parameters
+    pointer to instance of type _1_U (not function type) 
+    instance of type _1_U (not function type) 
+  returning 
+    nothing 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f
+...to: 
+    Name: g
+
Index: src/Tests/Expect-r/Operators.txt
===================================================================
--- src/Tests/Expect-r/Operators.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Operators.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1796 @@
+nameExpr is ?*?
+decl is ?*?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?*?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?*?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is number1
+decl is number1: signed int 
+newExpr is Variable Expression: number1: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: number1: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: number1: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is number2
+decl is number2: signed int 
+newExpr is Variable Expression: number2: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: number2: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: number2: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: number1: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: number2: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: number1: signed int 
+
+                  Variable Expression: number2: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?*?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: number1: signed int 
+
+      Variable Expression: number2: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?*?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: number1: signed int 
+
+          Variable Expression: number2: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct accumulator 
+    _src: instance of struct accumulator 
+  returning 
+    instance of struct accumulator 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  total: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct accumulator 
+              Member Expression, with field: 
+                total: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct accumulator 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct accumulator 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct accumulator 
+      _src: instance of struct accumulator 
+    returning 
+      instance of struct accumulator 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct accumulator 
+      _src: instance of struct accumulator 
+    returning 
+      instance of struct accumulator 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct accumulator 
+          _src: instance of struct accumulator 
+        returning 
+          instance of struct accumulator 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  total: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct accumulator 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    total: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct accumulator 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    total: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct accumulator 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  total: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct accumulator 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  total: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct accumulator 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct accumulator 
+              _src: instance of struct accumulator 
+            returning 
+              instance of struct accumulator 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct accumulator 
+                  _src: instance of struct accumulator 
+                returning 
+                  instance of struct accumulator 
+
+)
+        Environment: 
+formal type is pointer to instance of struct accumulator 
+actual type is pointer to signed int 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            total: signed int 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct accumulator 
+--- results are
+        pointer to signed int 
+
+converting pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          total: signed int 
+        from aggregate: 
+          Variable Expression: _src: instance of struct accumulator 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+        signed int 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              total: signed int 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct accumulator 
+
+                  Member Expression, with field: 
+            total: signed int 
+          from aggregate: 
+            Variable Expression: _src: instance of struct accumulator 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        total: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct accumulator 
+
+      Member Expression, with field: 
+      total: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct accumulator 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          total: signed int 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct accumulator 
+
+          Member Expression, with field: 
+        total: signed int 
+      from aggregate: 
+        Variable Expression: _src: instance of struct accumulator 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct accumulator 
+(types:
+    lvalue instance of struct accumulator 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct accumulator 
+
+to:
+  instance of struct accumulator 
+(types:
+    instance of struct accumulator 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?()
+decl is ?(): function
+  with parameters
+    a: instance of struct accumulator 
+    number1: char 
+    number2: char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?(): function
+    with parameters
+      a: instance of struct accumulator 
+      number1: char 
+      number2: char 
+    returning 
+      char 
+
+
+decl is ?(): function
+  with parameters
+    number1: signed int 
+    number2: signed int 
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: number1: signed int 
+
+          Variable Expression: number2: signed int 
+
+
+to:
+  signed int 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?(): function
+    with parameters
+      number1: signed int 
+      number2: signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?(): function
+    with parameters
+      a: instance of struct accumulator 
+      number1: char 
+      number2: char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          a: instance of struct accumulator 
+          number1: char 
+          number2: char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?(): function
+    with parameters
+      number1: signed int 
+      number2: signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          number1: signed int 
+          number2: signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: char 
+newExpr is Variable Expression: a: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is b
+decl is b: char 
+newExpr is Variable Expression: b: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
+            with parameters
+              number1: signed int 
+              number2: signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  number1: signed int 
+                  number2: signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
+            with parameters
+              a: instance of struct accumulator 
+              number1: char 
+              number2: char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  a: instance of struct accumulator 
+                  number1: char 
+                  number2: char 
+                returning 
+                  char 
+
+)
+        Environment: 
+formal type is instance of struct accumulator 
+actual type is lvalue char 
+actual expression:
+        Variable Expression: a: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+actual expression:
+        Variable Expression: b: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        number1: signed int 
+        number2: signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: a: char 
+
+          to:
+            signed int 
+
+                  Cast of:
+            Variable Expression: b: char 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 8 )
+alternatives before prune:
+Cost ( 0, 0, 8 ): Application of
+  Variable Expression: ?(): function
+      with parameters
+        number1: signed int 
+        number2: signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: char 
+
+    to:
+      signed int 
+
+      Cast of:
+      Variable Expression: b: char 
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?(): function
+        with parameters
+          number1: signed int 
+          number2: signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Cast of:
+        Variable Expression: a: char 
+
+      to:
+        signed int 
+
+          Cast of:
+        Variable Expression: b: char 
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: char 
+newExpr is Variable Expression: a: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: char 
+newExpr is Variable Expression: b: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: a: char 
+(types:
+            lvalue char 
+)
+        Environment: 
+nameExpr is ?()
+decl is ?(): function
+  with parameters
+    a: instance of struct accumulator 
+    number1: char 
+    number2: char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?(): function
+    with parameters
+      a: instance of struct accumulator 
+      number1: char 
+      number2: char 
+    returning 
+      char 
+
+
+decl is ?(): function
+  with parameters
+    number1: signed int 
+    number2: signed int 
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: number1: signed int 
+
+          Variable Expression: number2: signed int 
+
+
+to:
+  signed int 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?(): function
+    with parameters
+      number1: signed int 
+      number2: signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?(): function
+    with parameters
+      a: instance of struct accumulator 
+      number1: char 
+      number2: char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          a: instance of struct accumulator 
+          number1: char 
+          number2: char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?(): function
+    with parameters
+      number1: signed int 
+      number2: signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          number1: signed int 
+          number2: signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+known function ops:
+        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
+            with parameters
+              number1: signed int 
+              number2: signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  number1: signed int 
+                  number2: signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+
+        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
+            with parameters
+              a: instance of struct accumulator 
+              number1: char 
+              number2: char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  a: instance of struct accumulator 
+                  number1: char 
+                  number2: char 
+                returning 
+                  char 
+
+)
+        Environment: 
+
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is instance of struct accumulator 
+actual type is lvalue char 
+actual expression:
+        Variable Expression: a: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+actual expression:
+        Variable Expression: b: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        number1: signed int 
+        number2: signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: a: char 
+
+          to:
+            signed int 
+
+                  Cast of:
+            Variable Expression: b: char 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 8 )
+alternatives before prune:
+Cost ( 0, 0, 8 ): Application of
+  Variable Expression: ?(): function
+      with parameters
+        number1: signed int 
+        number2: signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: char 
+
+    to:
+      signed int 
+
+      Cast of:
+      Variable Expression: b: char 
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?(): function
+        with parameters
+          number1: signed int 
+          number2: signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Cast of:
+        Variable Expression: a: char 
+
+      to:
+        signed int 
+
+          Cast of:
+        Variable Expression: b: char 
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?+?
+decl is ?+?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?+?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: char 
+newExpr is Variable Expression: a: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is b
+decl is b: char 
+newExpr is Variable Expression: b: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: a: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+actual expression:
+        Variable Expression: b: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: a: char 
+
+          to:
+            signed int 
+
+                  Cast of:
+            Variable Expression: b: char 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 8 )
+alternatives before prune:
+Cost ( 0, 0, 8 ): Application of
+  Variable Expression: ?+?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: char 
+
+    to:
+      signed int 
+
+      Cast of:
+      Variable Expression: b: char 
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?+?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Cast of:
+        Variable Expression: a: char 
+
+      to:
+        signed int 
+
+          Cast of:
+        Variable Expression: b: char 
+
+      to:
+        signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?+?
+decl is ?+?: instance of struct accumulator 
+newExpr is Variable Expression: ?+?: instance of struct accumulator 
+
+decl is ?+?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?+?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: instance of struct accumulator 
+(types:
+    lvalue instance of struct accumulator 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?+?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: char 
+newExpr is Variable Expression: a: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+nameExpr is b
+decl is b: char 
+newExpr is Variable Expression: b: char 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue char 
+formal type is signed int 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?+?: instance of struct accumulator 
+(types:
+            lvalue instance of struct accumulator 
+)
+        Environment: 
+nameExpr is ?()
+decl is ?(): function
+  with parameters
+    a: instance of struct accumulator 
+    number1: char 
+    number2: char 
+  returning 
+    char 
+
+newExpr is Variable Expression: ?(): function
+    with parameters
+      a: instance of struct accumulator 
+      number1: char 
+      number2: char 
+    returning 
+      char 
+
+
+decl is ?(): function
+  with parameters
+    number1: signed int 
+    number2: signed int 
+  returning 
+    signed int 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: number1: signed int 
+
+          Variable Expression: number2: signed int 
+
+
+to:
+  signed int 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?(): function
+    with parameters
+      number1: signed int 
+      number2: signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?(): function
+    with parameters
+      a: instance of struct accumulator 
+      number1: char 
+      number2: char 
+    returning 
+      char 
+
+(types:
+    pointer to function
+        with parameters
+          a: instance of struct accumulator 
+          number1: char 
+          number2: char 
+        returning 
+          char 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?(): function
+    with parameters
+      number1: signed int 
+      number2: signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          number1: signed int 
+          number2: signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+known function ops:
+        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
+            with parameters
+              number1: signed int 
+              number2: signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  number1: signed int 
+                  number2: signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+
+        Cost ( 0, 0, 0 ):         Variable Expression: ?(): function
+            with parameters
+              a: instance of struct accumulator 
+              number1: char 
+              number2: char 
+            returning 
+              char 
+
+(types:
+            pointer to function
+                with parameters
+                  a: instance of struct accumulator 
+                  number1: char 
+                  number2: char 
+                returning 
+                  char 
+
+)
+        Environment: 
+
+formal type is signed int 
+actual type is lvalue instance of struct accumulator 
+formal type is instance of struct accumulator 
+actual type is lvalue instance of struct accumulator 
+formal type is char 
+actual type is lvalue char 
+formal type is char 
+actual type is lvalue char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: a: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+actual expression:
+        Variable Expression: b: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to signed int 
+cost is( 0, 0, 4 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: a: char 
+
+          to:
+            signed int 
+
+                  Cast of:
+            Variable Expression: b: char 
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 8 )
+actual expression:
+        Variable Expression: ?+?: instance of struct accumulator 
+--- results are
+        lvalue instance of struct accumulator 
+
+converting lvalue instance of struct accumulator 
+ to instance of struct accumulator 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: a: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to char 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: b: char 
+--- results are
+        lvalue char 
+
+converting lvalue char 
+ to char 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        a: instance of struct accumulator 
+        number1: char 
+        number2: char 
+actuals are:
+                  Variable Expression: ?+?: instance of struct accumulator 
+
+                  Variable Expression: a: char 
+
+                  Variable Expression: b: char 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 8 ): Application of
+  Variable Expression: ?+?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: char 
+
+    to:
+      signed int 
+
+      Cast of:
+      Variable Expression: b: char 
+
+    to:
+      signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?(): function
+      with parameters
+        a: instance of struct accumulator 
+        number1: char 
+        number2: char 
+      returning 
+        char 
+
+to arguments
+      Variable Expression: ?+?: instance of struct accumulator 
+
+      Variable Expression: a: char 
+
+      Variable Expression: b: char 
+
+(types:
+    char 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?(): function
+        with parameters
+          a: instance of struct accumulator 
+          number1: char 
+          number2: char 
+        returning 
+          char 
+
+  to arguments
+          Variable Expression: ?+?: instance of struct accumulator 
+
+          Variable Expression: a: char 
+
+          Variable Expression: b: char 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int ___operator_multiply__Fi_ii_(int , int );
+int ___operator_call__Fi_ii_(int __number1__i, int __number2__i){
+    return ___operator_multiply__Fi_ii_(__number1__i, __number2__i);
+}
+int ___operator_add__Fi_ii_(int , int );
+int ___operator_assign__Fi_Pii_(int *, int );
+struct accumulator
+{
+    int __total__i;
+};
+static inline struct accumulator ___operator_assign__F12saccumulator_P12saccumulator12saccumulator_(struct accumulator *___dst__P12saccumulator, struct accumulator ___src__12saccumulator){
+    ___operator_assign__Fi_Pii_((&(*___dst__P12saccumulator).__total__i), ___src__12saccumulator.__total__i);
+    return ___src__12saccumulator;
+}
+char ___operator_call__Fc_12saccumulatorcc_(struct accumulator __a__12saccumulator, char __number1__c, char __number2__c);
+void __f__F__(void){
+    char __a__c;
+    char __b__c;
+    ___operator_call__Fi_ii_(((int )__a__c), ((int )__b__c));
+    ___operator_call__Fi_ii_(((int )__a__c), ((int )__b__c));
+    ___operator_add__Fi_ii_(((int )__a__c), ((int )__b__c));
+    struct accumulator ___operator_add__12saccumulator;
+    ___operator_call__Fc_12saccumulatorcc_(___operator_add__12saccumulator, __a__c, __b__c);
+}
Index: src/Tests/Expect-r/Quad.txt
===================================================================
--- src/Tests/Expect-r/Quad.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Quad.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1851 @@
+nameExpr is ?*?
+decl is ?*?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?*?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+decl is ?*?: pointer to function
+  with parameters
+    instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: ?*?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?*?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?*?: pointer to function
+    with parameters
+      instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t
+decl is t: instance of type T (not function type) 
+newExpr is Variable Expression: t: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+nameExpr is t
+decl is t: instance of type T (not function type) 
+newExpr is Variable Expression: t: instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t: instance of type T (not function type) 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?*?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+formal type is instance of type T (not function type) 
+actual type is lvalue instance of type T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: t: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: t: instance of type T (not function type) 
+--- results are
+        lvalue instance of type T (not function type) 
+
+converting lvalue instance of type T (not function type) 
+ to instance of type T (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+actuals are:
+                  Variable Expression: t: instance of type T (not function type) 
+
+                  Variable Expression: t: instance of type T (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?*?: pointer to function
+      with parameters
+        instance of type T (not function type) 
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: t: instance of type T (not function type) 
+
+      Variable Expression: t: instance of type T (not function type) 
+
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?*?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+(types:
+    instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is square
+decl is square: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?*?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    t: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: square: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?*?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is square: pointer to function
+  with parameters
+    instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+newExpr is Variable Expression: square: pointer to function
+    with parameters
+      instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: square: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?*?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+              ?*?: pointer to function
+                  with parameters
+                    instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          t: instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: square: pointer to function
+    with parameters
+      instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is square
+decl is square: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?*?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    t: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: square: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?*?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+decl is square: pointer to function
+  with parameters
+    instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+newExpr is Variable Expression: square: pointer to function
+    with parameters
+      instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: square: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?*?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+              ?*?: pointer to function
+                  with parameters
+                    instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+        function
+        with parameters
+          t: instance of type _1_T (not function type) 
+        returning 
+          instance of type _1_T (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: square: pointer to function
+    with parameters
+      instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is u
+decl is u: instance of type U (not function type) 
+newExpr is Variable Expression: u: instance of type U (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: u: instance of type U (not function type) 
+(types:
+    lvalue instance of type U (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: square: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                  ?*?: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              t: instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _1_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_T (not function type) 
+                            instance of type _1_T (not function type) 
+                          returning 
+                            instance of type _1_T (not function type) 
+
+                      ?*?: pointer to function
+                          with parameters
+                            instance of type _1_T (not function type) 
+                            instance of type _1_T (not function type) 
+                          returning 
+                            instance of type _1_T (not function type) 
+
+
+                function
+                with parameters
+                  t: instance of type _1_T (not function type) 
+                returning 
+                  instance of type _1_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _1_T (not function type) 
+actual type is lvalue instance of type U (not function type) 
+need assertions:
+?*?: pointer to function
+          with parameters
+            instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?*?: pointer to function
+  with parameters
+    instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?*?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: square: pointer to function
+            with parameters
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+)
+        Environment: 
+formal type is instance of type U (not function type) 
+actual type is lvalue instance of type U (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: u: instance of type U (not function type) 
+--- results are
+        lvalue instance of type U (not function type) 
+
+converting lvalue instance of type U (not function type) 
+ to instance of type U (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type U (not function type) 
+actuals are:
+                  Variable Expression: u: instance of type U (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: square: pointer to function
+      with parameters
+        instance of type U (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: u: instance of type U (not function type) 
+
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: square: pointer to function
+      with parameters
+        instance of type U (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Variable Expression: u: instance of type U (not function type) 
+
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: square: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                  ?*?: pointer to function
+                      with parameters
+                        instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              t: instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+                      ?*?: pointer to function
+                          with parameters
+                            instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  t: instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is instance of type U (not function type) 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)?*?: pointer to function
+          with parameters
+            instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: pointer to function
+  with parameters
+    pointer to instance of type U (not function type) 
+    instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to instance of type U (not function type) 
+    instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+success!
+satisfying assertion 12 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 23 ?=?: pointer to function
+  with parameters
+    pointer to instance of type U (not function type) 
+    instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+
+inferRecursive: assertion is ?*?: pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?*?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: square: pointer to function
+            with parameters
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+)
+        Environment: 
+formal type is instance of type U (not function type) 
+actual type is instance of type U (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Application of
+          Variable Expression: square: pointer to function
+              with parameters
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+        to arguments
+                      Variable Expression: u: instance of type U (not function type) 
+
+--- results are
+        instance of type U (not function type) 
+
+converting instance of type U (not function type) 
+ to instance of type U (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type U (not function type) 
+actuals are:
+                  Application of
+            Variable Expression: square: pointer to function
+                with parameters
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+          to arguments
+                          Variable Expression: u: instance of type U (not function type) 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: square: pointer to function
+      with parameters
+        instance of type U (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: square: pointer to function
+          with parameters
+            instance of type U (not function type) 
+          returning 
+            instance of type U (not function type) 
+
+    to arguments
+              Variable Expression: u: instance of type U (not function type) 
+
+
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: square: pointer to function
+        with parameters
+          instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+  to arguments
+          Application of
+        Variable Expression: square: pointer to function
+            with parameters
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+      to arguments
+                  Variable Expression: u: instance of type U (not function type) 
+
+
+
+to:
+  instance of type U (not function type) 
+(types:
+    instance of type U (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is quad
+decl is quad: forall
+    U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type U (not function type) 
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+        square: pointer to function
+            with parameters
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+
+  function
+  with parameters
+    u: instance of type U (not function type) 
+  returning 
+    instance of type U (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: square: pointer to function
+        with parameters
+          instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+  to arguments
+          Application of
+        Variable Expression: square: pointer to function
+            with parameters
+              instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+      to arguments
+                  Variable Expression: u: instance of type U (not function type) 
+
+
+
+to:
+  instance of type U (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: quad: forall
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          square: pointer to function
+              with parameters
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      u: instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: quad: forall
+      U: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type U (not function type) 
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+          square: pointer to function
+              with parameters
+                instance of type U (not function type) 
+              returning 
+                instance of type U (not function type) 
+
+
+    function
+    with parameters
+      u: instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+    pointer to forall
+          _0_U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_U (not function type) 
+                    instance of type _0_U (not function type) 
+                  returning 
+                    instance of type _0_U (not function type) 
+
+              square: pointer to function
+                  with parameters
+                    instance of type _0_U (not function type) 
+                  returning 
+                    instance of type _0_U (not function type) 
+
+
+        function
+        with parameters
+          u: instance of type _0_U (not function type) 
+        returning 
+          instance of type _0_U (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 7 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: quad: forall
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+                  square: pointer to function
+                      with parameters
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              u: instance of type U (not function type) 
+            returning 
+              instance of type U (not function type) 
+
+(types:
+            pointer to forall
+                  _0_U: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_U (not function type) 
+                            instance of type _0_U (not function type) 
+                          returning 
+                            instance of type _0_U (not function type) 
+
+                      square: pointer to function
+                          with parameters
+                            instance of type _0_U (not function type) 
+                          returning 
+                            instance of type _0_U (not function type) 
+
+
+                function
+                with parameters
+                  u: instance of type _0_U (not function type) 
+                returning 
+                  instance of type _0_U (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_U (not function type) 
+actual type is signed int 
+need assertions:
+square: pointer to function
+          with parameters
+            instance of type _0_U (not function type) 
+          returning 
+            instance of type _0_U (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_U (not function type) 
+            instance of type _0_U (not function type) 
+          returning 
+            instance of type _0_U (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is square: pointer to function
+  with parameters
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+
+inferRecursive: candidate is square: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?*?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    t: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+unifying pointer to function
+  with parameters
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+ with pointer to forall
+    _1_T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _1_T (not function type) 
+              instance of type _1_T (not function type) 
+            returning 
+              instance of type _1_T (not function type) 
+
+        ?*?: pointer to function
+            with parameters
+              instance of type _1_T (not function type) 
+              instance of type _1_T (not function type) 
+            returning 
+              instance of type _1_T (not function type) 
+
+
+  function
+  with parameters
+    t: instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+success!
+satisfying assertion 26 square: pointer to function
+  with parameters
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+ with declaration 19 square: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+        ?*?: pointer to function
+            with parameters
+              instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    t: instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Cast of:
+  Application of
+    Variable Expression: ?*?: pointer to function
+        with parameters
+          instance of type T (not function type) 
+          instance of type T (not function type) 
+        returning 
+          instance of type T (not function type) 
+
+  to arguments
+          Variable Expression: t: instance of type T (not function type) 
+
+          Variable Expression: t: instance of type T (not function type) 
+
+
+to:
+  instance of type T (not function type) 
+with environment:
+  Types:
+  Non-types:
+
+
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_U (not function type) 
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_U (not function type) 
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 23 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_U (not function type) 
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+recursing with new set:
+?*?: pointer to function
+          with parameters
+            instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)inferRecursive: assertion is ?*?: pointer to function
+  with parameters
+    instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?*?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 16 ?*?: pointer to function
+  with parameters
+    instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 8 ?*?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 12 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+constant expression 7 signed int --- results are
+        signed int 
+
+converting signed int 
+ to instance of type _0_U (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_U (not function type) 
+            instance of type _0_U (not function type) 
+          returning 
+            instance of type _0_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+
+converting pointer to forall
+            _1_T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type _1_T (not function type) 
+                      instance of type _1_T (not function type) 
+                    returning 
+                      instance of type _1_T (not function type) 
+
+                ?*?: pointer to function
+                    with parameters
+                      instance of type _1_T (not function type) 
+                      instance of type _1_T (not function type) 
+                    returning 
+                      instance of type _1_T (not function type) 
+
+
+          function
+          with parameters
+            t: instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+ to pointer to function
+          with parameters
+            instance of type _0_U (not function type) 
+          returning 
+            instance of type _0_U (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        u: instance of type _0_U (not function type) 
+actuals are:
+        constant expression 7 signed int 
+bindings are:
+        ( _0_U _1_T ) -> signed int  (no widening)
+cost of conversion is:( 0, 20, 0 )
+alternatives before prune:
+Cost ( 0, 20, 0 ): Application of
+  Variable Expression: quad: forall
+        U: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type U (not function type) 
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+            square: pointer to function
+                with parameters
+                  instance of type U (not function type) 
+                returning 
+                  instance of type U (not function type) 
+
+
+      function
+      with parameters
+        u: instance of type U (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+to arguments
+  constant expression 7 signed int 
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?*?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+  square: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+          ?*?: pointer to function
+              with parameters
+                instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      t: instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    instance of type _0_U (not function type) 
+)
+Environment:   ( _0_U _1_T ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: quad: forall
+          U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type U (not function type) 
+                    instance of type U (not function type) 
+                  returning 
+                    instance of type U (not function type) 
+
+              square: pointer to function
+                  with parameters
+                    instance of type U (not function type) 
+                  returning 
+                    instance of type U (not function type) 
+
+
+        function
+        with parameters
+          u: instance of type U (not function type) 
+        returning 
+          instance of type U (not function type) 
+
+  to arguments
+    constant expression 7 signed int 
+  with inferred parameters:
+    ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+    ?*?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+    ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+    square: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+            ?*?: pointer to function
+                with parameters
+                  instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        t: instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _0_U _1_T ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int ___operator_assign__Fi_Pii_(int *, int );
+int ___operator_multiply__Fi_ii_(int , int );
+void __square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(void (*_adapterF2tT_2tT2tT_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_multiply__PF2tT_2tT2tT_)(), void *_retparm, void *__t__2tT){
+    _adapterF2tT_2tT2tT_(___operator_multiply__PF2tT_2tT2tT_, _retparm, __t__2tT, __t__2tT);
+    return ;
+}
+void __quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(void (*_adapterF2tU_2tU_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__square__PF2tU_2tU_)(), void *_retparm, void *__u__2tU){
+    void *_temp0;
+    (_temp0=__builtin_alloca(U));
+    _adapterF2tU_2tU_(__square__PF2tU_2tU_, _retparm, (_adapterF2tU_2tU_(__square__PF2tU_2tU_, _temp0, __u__2tU) , _temp0));
+    return ;
+}
+void __f__F__(){
+    int _thunk0(int _p0){
+        int _temp1;
+        void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+            ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
+        }
+        void _adapterFi_ii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+            ((*((int *)_ret))=((int (*)(int , int ))_adaptee)((*((int *)_p0)), (*((int *)_p1))));
+        }
+        return (__square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(_adapterFi_ii_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_multiply__Fi_ii_), (&_temp1), (&_p0)) , _temp1);
+    }
+    int _temp2;
+    int _temp3;
+    (_temp3=7);
+    void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1))));
+    }
+    void _adapterFi_i_(void (*_adaptee)(), void *_ret, void *_p0){
+        ((*((int *)_ret))=((int (*)(int ))_adaptee)((*((int *)_p0))));
+    }
+    (__quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(_adapterFi_i_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())(&_thunk0)), (&_temp2), (&_temp3)) , _temp2);
+}
Index: src/Tests/Expect-r/Rank2.txt
===================================================================
--- src/Tests/Expect-r/Rank2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Rank2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3600 @@
+nameExpr is g
+decl is g: function
+  with parameters
+    p: pointer to forall
+          U: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type U (not function type) 
+                    instance of type U (not function type) 
+                  returning 
+                    instance of type U (not function type) 
+
+
+        function
+        with parameters
+          instance of type U (not function type) 
+        returning 
+          nothing 
+
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      p: pointer to forall
+            U: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type U (not function type) 
+                      instance of type U (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+
+          function
+          with parameters
+            instance of type U (not function type) 
+          returning 
+            nothing 
+
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      p: pointer to forall
+            U: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type U (not function type) 
+                      instance of type U (not function type) 
+                    returning 
+                      instance of type U (not function type) 
+
+
+          function
+          with parameters
+            instance of type U (not function type) 
+          returning 
+            nothing 
+
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          p: pointer to forall
+                _0_U: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type _0_U (not function type) 
+                          instance of type _0_U (not function type) 
+                        returning 
+                          instance of type _0_U (not function type) 
+
+
+              function
+              with parameters
+                instance of type _0_U (not function type) 
+              returning 
+                nothing 
+
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _1_T (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: f: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      nothing 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _1_T (not function type) 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              p: pointer to forall
+                    U: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type U (not function type) 
+                              instance of type U (not function type) 
+                            returning 
+                              instance of type U (not function type) 
+
+
+                  function
+                  with parameters
+                    instance of type U (not function type) 
+                  returning 
+                    nothing 
+
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  p: pointer to forall
+                        _0_U: type
+                          with assertions
+                            ?=?: pointer to function
+                                with parameters
+                                  pointer to instance of type _0_U (not function type) 
+                                  instance of type _0_U (not function type) 
+                                returning 
+                                  instance of type _0_U (not function type) 
+
+
+                      function
+                      with parameters
+                        instance of type _0_U (not function type) 
+                      returning 
+                        nothing 
+
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to forall
+    _0_U: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_U (not function type) 
+              instance of type _0_U (not function type) 
+            returning 
+              instance of type _0_U (not function type) 
+
+
+  function
+  with parameters
+    instance of type _0_U (not function type) 
+  returning 
+    nothing 
+
+actual type is pointer to forall
+    _1_T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _1_T (not function type) 
+              instance of type _1_T (not function type) 
+            returning 
+              instance of type _1_T (not function type) 
+
+
+  function
+  with parameters
+    instance of type _1_T (not function type) 
+  returning 
+    nothing 
+
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to forall
+    _2_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _2_DT (not function type) 
+    pointer to instance of type _2_DT (not function type) 
+  returning 
+    pointer to instance of type _2_DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+inferRecursive: candidate is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_U (not function type) 
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to instance of type _0_U (not function type) 
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+
+success!
+satisfying assertion 12 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 18 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_U (not function type) 
+    instance of type _0_U (not function type) 
+  returning 
+    instance of type _0_U (not function type) 
+
+actual expression:
+        Variable Expression: f: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              nothing 
+
+--- results are
+        pointer to forall
+              _1_T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type _1_T (not function type) 
+                        instance of type _1_T (not function type) 
+                      returning 
+                        instance of type _1_T (not function type) 
+
+
+            function
+            with parameters
+              instance of type _1_T (not function type) 
+            returning 
+              nothing 
+
+
+converting pointer to forall
+            _1_T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type _1_T (not function type) 
+                      instance of type _1_T (not function type) 
+                    returning 
+                      instance of type _1_T (not function type) 
+
+
+          function
+          with parameters
+            instance of type _1_T (not function type) 
+          returning 
+            nothing 
+
+ to pointer to forall
+            _0_U: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type _0_U (not function type) 
+                      instance of type _0_U (not function type) 
+                    returning 
+                      instance of type _0_U (not function type) 
+
+
+          function
+          with parameters
+            instance of type _0_U (not function type) 
+          returning 
+            nothing 
+
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to instance of type _0_U (not function type) 
+            instance of type _0_U (not function type) 
+          returning 
+            instance of type _0_U (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        p: pointer to forall
+              _0_U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type _0_U (not function type) 
+                        instance of type _0_U (not function type) 
+                      returning 
+                        instance of type _0_U (not function type) 
+
+
+            function
+            with parameters
+              instance of type _0_U (not function type) 
+            returning 
+              nothing 
+
+actuals are:
+                  Variable Expression: f: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                nothing 
+
+
+bindings are:
+        ( _1_T ) -> instance of type _0_U (not function type)  (no widening)
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        p: pointer to forall
+              U: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type U (not function type) 
+                        instance of type U (not function type) 
+                      returning 
+                        instance of type U (not function type) 
+
+
+            function
+            with parameters
+              instance of type U (not function type) 
+            returning 
+              nothing 
+
+      returning 
+        nothing 
+
+to arguments
+      Variable Expression: f: forall
+          T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type T (not function type) 
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+
+        function
+        with parameters
+          instance of type T (not function type) 
+        returning 
+          nothing 
+
+
+with inferred parameters:
+  ?=?: pointer to function
+    with parameters
+      pointer to instance of type U (not function type) 
+      instance of type U (not function type) 
+    returning 
+      instance of type U (not function type) 
+
+(types:
+)
+Environment:   ( _1_T ) -> instance of type _0_U (not function type)  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          p: pointer to forall
+                U: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type U (not function type) 
+                          instance of type U (not function type) 
+                        returning 
+                          instance of type U (not function type) 
+
+
+              function
+              with parameters
+                instance of type U (not function type) 
+              returning 
+                nothing 
+
+        returning 
+          nothing 
+
+  to arguments
+          Variable Expression: f: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            nothing 
+
+
+  with inferred parameters:
+    ?=?: pointer to function
+      with parameters
+        pointer to instance of type U (not function type) 
+        instance of type U (not function type) 
+      returning 
+        instance of type U (not function type) 
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _1_T ) -> instance of type _0_U (not function type)  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is h
+decl is h: function
+  with parameters
+    null: pointer to signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: h: function
+    with parameters
+      null: pointer to signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: h: function
+    with parameters
+      null: pointer to signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          null: pointer to signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is id
+decl is id: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: id: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: id: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _0_T (not function type) 
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is id
+decl is id: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: id: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: id: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _1_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _1_T (not function type) 
+                    instance of type _1_T (not function type) 
+                  returning 
+                    instance of type _1_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _1_T (not function type) 
+        returning 
+          instance of type _1_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is id
+decl is id: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+newExpr is Variable Expression: id: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: id: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _2_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _2_T (not function type) 
+                    instance of type _2_T (not function type) 
+                  returning 
+                    instance of type _2_T (not function type) 
+
+
+        function
+        with parameters
+          instance of type _2_T (not function type) 
+        returning 
+          instance of type _2_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is 0
+decl is 0: forall
+    T: incomplete type
+  pointer to instance of type T (not function type) 
+newExpr is Variable Expression: 0: forall
+      T: incomplete type
+    pointer to instance of type T (not function type) 
+
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: forall
+      T: incomplete type
+    pointer to instance of type T (not function type) 
+(types:
+    forall
+          _3_T: incomplete type
+        lvalue pointer to instance of type _3_T (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: 0: forall
+      T: incomplete type
+    pointer to instance of type T (not function type) 
+(types:
+    forall
+          _3_T: incomplete type
+        lvalue pointer to instance of type _3_T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: id: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _2_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _2_T (not function type) 
+                            instance of type _2_T (not function type) 
+                          returning 
+                            instance of type _2_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _2_T (not function type) 
+                returning 
+                  instance of type _2_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _2_T (not function type) 
+actual type is lvalue signed int 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _2_T (not function type) 
+            instance of type _2_T (not function type) 
+          returning 
+            instance of type _2_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+ with pointer to forall
+    _4_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _4_DT (not function type) 
+    pointer to instance of type _4_DT (not function type) 
+  returning 
+    pointer to instance of type _4_DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+formal type is instance of type _2_T (not function type) 
+actual type is forall
+    _3_T: incomplete type
+  lvalue pointer to instance of type _3_T (not function type) 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _2_T (not function type) 
+            instance of type _2_T (not function type) 
+          returning 
+            instance of type _2_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+ with pointer to forall
+    _5_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _5_DT (not function type) 
+    pointer to instance of type _5_DT (not function type) 
+  returning 
+    pointer to instance of type _5_DT (not function type) 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+ with declaration 8 ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _2_T (not function type) 
+    instance of type _2_T (not function type) 
+  returning 
+    instance of type _2_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to instance of type _2_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _2_T (not function type) 
+            instance of type _2_T (not function type) 
+          returning 
+            instance of type _2_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _2_T (not function type) 
+actuals are:
+                  Variable Expression: 0: signed int 
+
+bindings are:
+        ( _2_T ) -> signed int 
+cost of conversion is:( 0, 4, 0 )
+actual expression:
+        Variable Expression: 0: forall
+              T: incomplete type
+            pointer to instance of type T (not function type) 
+--- results are
+        forall
+              _3_T: incomplete type
+            lvalue pointer to instance of type _3_T (not function type) 
+
+converting forall
+            _3_T: incomplete type
+          lvalue pointer to instance of type _3_T (not function type) 
+ to instance of type _2_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to forall
+            _5_DT: incomplete type
+          function
+          with parameters
+            pointer to pointer to instance of type _5_DT (not function type) 
+            pointer to instance of type _5_DT (not function type) 
+          returning 
+            pointer to instance of type _5_DT (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _2_T (not function type) 
+            instance of type _2_T (not function type) 
+          returning 
+            instance of type _2_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _2_T (not function type) 
+actuals are:
+                  Variable Expression: 0: forall
+                T: incomplete type
+              pointer to instance of type T (not function type) 
+
+bindings are:
+        ( _2_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type) 
+        ( _3_T _5_DT ) (no widening)
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: 0: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    instance of type _2_T (not function type) 
+)
+Environment:   ( _2_T ) -> signed int 
+
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: 0: forall
+          T: incomplete type
+        pointer to instance of type T (not function type) 
+
+with inferred parameters:
+  ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    instance of type _2_T (not function type) 
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type) 
+  ( _3_T _5_DT ) (no widening)
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: 0: signed int 
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    signed int 
+)
+Environment:   ( _2_T ) -> signed int 
+
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Variable Expression: 0: forall
+          T: incomplete type
+        pointer to instance of type T (not function type) 
+
+with inferred parameters:
+  ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    forall
+          _3_T: incomplete type
+        pointer to instance of type _3_T (not function type) 
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type) 
+  ( _3_T _5_DT ) (no widening)
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: id: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _1_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _1_T (not function type) 
+                            instance of type _1_T (not function type) 
+                          returning 
+                            instance of type _1_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _1_T (not function type) 
+                returning 
+                  instance of type _1_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _1_T (not function type) 
+actual type is signed int 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to forall
+    _6_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _6_DT (not function type) 
+    pointer to instance of type _6_DT (not function type) 
+  returning 
+    pointer to instance of type _6_DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+formal type is instance of type _1_T (not function type) 
+actual type is forall
+    _3_T: incomplete type
+  pointer to instance of type _3_T (not function type) 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to forall
+    _7_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _7_DT (not function type) 
+    pointer to instance of type _7_DT (not function type) 
+  returning 
+    pointer to instance of type _7_DT (not function type) 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with declaration 8 ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _1_T (not function type) 
+    instance of type _1_T (not function type) 
+  returning 
+    instance of type _1_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: 0: signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+--- results are
+        signed int 
+
+converting signed int 
+ to instance of type _1_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _1_T (not function type) 
+actuals are:
+                  Application of
+            Variable Expression: id: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Variable Expression: 0: signed int 
+
+          with inferred parameters:
+            ?=?: function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+
+bindings are:
+        ( _2_T ) -> signed int  (no widening)
+        ( _1_T ) -> signed int 
+cost of conversion is:( 0, 4, 0 )
+actual expression:
+        Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: 0: forall
+                  T: incomplete type
+                pointer to instance of type T (not function type) 
+
+        with inferred parameters:
+          ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+--- results are
+        forall
+              _3_T: incomplete type
+            pointer to instance of type _3_T (not function type) 
+
+converting forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type) 
+ to instance of type _1_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to forall
+            _7_DT: incomplete type
+          function
+          with parameters
+            pointer to pointer to instance of type _7_DT (not function type) 
+            pointer to instance of type _7_DT (not function type) 
+          returning 
+            pointer to instance of type _7_DT (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _1_T (not function type) 
+            instance of type _1_T (not function type) 
+          returning 
+            instance of type _1_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _1_T (not function type) 
+actuals are:
+                  Application of
+            Variable Expression: id: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Variable Expression: 0: forall
+                    T: incomplete type
+                  pointer to instance of type T (not function type) 
+
+          with inferred parameters:
+            ?=?: forall
+                DT: incomplete type
+              function
+              with parameters
+                pointer to pointer to instance of type DT (not function type) 
+                pointer to instance of type DT (not function type) 
+              returning 
+                pointer to instance of type DT (not function type) 
+
+
+bindings are:
+        ( _2_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type)  (no widening)
+        ( _1_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type) 
+        ( _3_T _5_DT _7_DT ) (no widening)
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Variable Expression: 0: signed int 
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    instance of type _1_T (not function type) 
+)
+Environment:   ( _2_T ) -> signed int  (no widening)
+  ( _1_T ) -> signed int 
+
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Variable Expression: 0: forall
+              T: incomplete type
+            pointer to instance of type T (not function type) 
+
+    with inferred parameters:
+      ?=?: forall
+          DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type DT (not function type) 
+          pointer to instance of type DT (not function type) 
+        returning 
+          pointer to instance of type DT (not function type) 
+
+
+with inferred parameters:
+  ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    instance of type _1_T (not function type) 
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _1_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type) 
+  ( _3_T _5_DT _7_DT ) (no widening)
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Variable Expression: 0: signed int 
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    signed int 
+)
+Environment:   ( _2_T ) -> signed int  (no widening)
+  ( _1_T ) -> signed int 
+
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Variable Expression: 0: forall
+              T: incomplete type
+            pointer to instance of type T (not function type) 
+
+    with inferred parameters:
+      ?=?: forall
+          DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type DT (not function type) 
+          pointer to instance of type DT (not function type) 
+        returning 
+          pointer to instance of type DT (not function type) 
+
+
+with inferred parameters:
+  ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    forall
+          _3_T: incomplete type
+        pointer to instance of type _3_T (not function type) 
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _1_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type) 
+  ( _3_T _5_DT _7_DT ) (no widening)
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: id: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type _0_T (not function type) 
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type _0_T (not function type) 
+actual type is signed int 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to forall
+    _8_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _8_DT (not function type) 
+    pointer to instance of type _8_DT (not function type) 
+  returning 
+    pointer to instance of type _8_DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 4 ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+formal type is instance of type _0_T (not function type) 
+actual type is forall
+    _3_T: incomplete type
+  pointer to instance of type _3_T (not function type) 
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to forall
+    _9_DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type _9_DT (not function type) 
+    pointer to instance of type _9_DT (not function type) 
+  returning 
+    pointer to instance of type _9_DT (not function type) 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 8 ?=?: forall
+    DT: incomplete type
+  function
+  with parameters
+    pointer to pointer to instance of type DT (not function type) 
+    pointer to instance of type DT (not function type) 
+  returning 
+    pointer to instance of type DT (not function type) 
+
+inferRecursive: candidate is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+actual expression:
+        Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Application of
+              Variable Expression: id: forall
+                    T: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type T (not function type) 
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type T (not function type) 
+
+
+                  function
+                  with parameters
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+            to arguments
+                              Variable Expression: 0: signed int 
+
+            with inferred parameters:
+              ?=?: function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+--- results are
+        signed int 
+
+converting signed int 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to signed int 
+            signed int 
+          returning 
+            signed int 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Application of
+            Variable Expression: id: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Application of
+                Variable Expression: id: forall
+                      T: type
+                        with assertions
+                          ?=?: pointer to function
+                              with parameters
+                                pointer to instance of type T (not function type) 
+                                instance of type T (not function type) 
+                              returning 
+                                instance of type T (not function type) 
+
+
+                    function
+                    with parameters
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+              to arguments
+                                  Variable Expression: 0: signed int 
+
+              with inferred parameters:
+                ?=?: function
+                  with parameters
+                    pointer to signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+
+          with inferred parameters:
+            ?=?: function
+              with parameters
+                pointer to signed int 
+                signed int 
+              returning 
+                signed int 
+
+
+bindings are:
+        ( _2_T ) -> signed int  (no widening)
+        ( _1_T ) -> signed int  (no widening)
+        ( _0_T ) -> signed int 
+cost of conversion is:( 0, 4, 0 )
+actual expression:
+        Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Application of
+              Variable Expression: id: forall
+                    T: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type T (not function type) 
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type T (not function type) 
+
+
+                  function
+                  with parameters
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+            to arguments
+                              Variable Expression: 0: forall
+                      T: incomplete type
+                    pointer to instance of type T (not function type) 
+
+            with inferred parameters:
+              ?=?: forall
+                  DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type DT (not function type) 
+                  pointer to instance of type DT (not function type) 
+                returning 
+                  pointer to instance of type DT (not function type) 
+
+
+        with inferred parameters:
+          ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+--- results are
+        forall
+              _3_T: incomplete type
+            pointer to instance of type _3_T (not function type) 
+
+converting forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type) 
+ to instance of type _0_T (not function type) 
+cost is( 0, 0, 0 )
+
+converting pointer to forall
+            _9_DT: incomplete type
+          function
+          with parameters
+            pointer to pointer to instance of type _9_DT (not function type) 
+            pointer to instance of type _9_DT (not function type) 
+          returning 
+            pointer to instance of type _9_DT (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type _0_T (not function type) 
+actuals are:
+                  Application of
+            Variable Expression: id: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Application of
+                Variable Expression: id: forall
+                      T: type
+                        with assertions
+                          ?=?: pointer to function
+                              with parameters
+                                pointer to instance of type T (not function type) 
+                                instance of type T (not function type) 
+                              returning 
+                                instance of type T (not function type) 
+
+
+                    function
+                    with parameters
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+              to arguments
+                                  Variable Expression: 0: forall
+                        T: incomplete type
+                      pointer to instance of type T (not function type) 
+
+              with inferred parameters:
+                ?=?: forall
+                    DT: incomplete type
+                  function
+                  with parameters
+                    pointer to pointer to instance of type DT (not function type) 
+                    pointer to instance of type DT (not function type) 
+                  returning 
+                    pointer to instance of type DT (not function type) 
+
+
+          with inferred parameters:
+            ?=?: forall
+                DT: incomplete type
+              function
+              with parameters
+                pointer to pointer to instance of type DT (not function type) 
+                pointer to instance of type DT (not function type) 
+              returning 
+                pointer to instance of type DT (not function type) 
+
+
+bindings are:
+        ( _2_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type)  (no widening)
+        ( _1_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type)  (no widening)
+        ( _0_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type) 
+        ( _3_T _5_DT _7_DT _9_DT ) (no widening)
+cost of conversion is:( 0, 4, 0 )
+alternatives before prune:
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: 0: signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _2_T ) -> signed int  (no widening)
+  ( _1_T ) -> signed int  (no widening)
+  ( _0_T ) -> signed int 
+
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: 0: forall
+                  T: incomplete type
+                pointer to instance of type T (not function type) 
+
+        with inferred parameters:
+          ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+
+    with inferred parameters:
+      ?=?: forall
+          DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type DT (not function type) 
+          pointer to instance of type DT (not function type) 
+        returning 
+          pointer to instance of type DT (not function type) 
+
+
+with inferred parameters:
+  ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _1_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _0_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type) 
+  ( _3_T _5_DT _7_DT _9_DT ) (no widening)
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: 0: signed int 
+
+        with inferred parameters:
+          ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+
+    with inferred parameters:
+      ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    signed int 
+)
+Environment:   ( _2_T ) -> signed int  (no widening)
+  ( _1_T ) -> signed int  (no widening)
+  ( _0_T ) -> signed int 
+
+
+Cost ( 0, 4, 0 ): Application of
+  Variable Expression: id: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        instance of type T (not function type) 
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Variable Expression: 0: forall
+                  T: incomplete type
+                pointer to instance of type T (not function type) 
+
+        with inferred parameters:
+          ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+
+    with inferred parameters:
+      ?=?: forall
+          DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type DT (not function type) 
+          pointer to instance of type DT (not function type) 
+        returning 
+          pointer to instance of type DT (not function type) 
+
+
+with inferred parameters:
+  ?=?: forall
+      DT: incomplete type
+    function
+    with parameters
+      pointer to pointer to instance of type DT (not function type) 
+      pointer to instance of type DT (not function type) 
+    returning 
+      pointer to instance of type DT (not function type) 
+
+(types:
+    forall
+          _3_T: incomplete type
+        pointer to instance of type _3_T (not function type) 
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _1_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _0_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type) 
+  ( _3_T _5_DT _7_DT _9_DT ) (no widening)
+
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: h: function
+            with parameters
+              null: pointer to signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  null: pointer to signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is signed int 
+formal type is pointer to signed int 
+actual type is forall
+    _3_T: incomplete type
+  pointer to instance of type _3_T (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+T
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Application of
+              Variable Expression: id: forall
+                    T: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type T (not function type) 
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type T (not function type) 
+
+
+                  function
+                  with parameters
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+            to arguments
+                              Application of
+                  Variable Expression: id: forall
+                        T: type
+                          with assertions
+                            ?=?: pointer to function
+                                with parameters
+                                  pointer to instance of type T (not function type) 
+                                  instance of type T (not function type) 
+                                returning 
+                                  instance of type T (not function type) 
+
+
+                      function
+                      with parameters
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+                to arguments
+                                      Variable Expression: 0: forall
+                          T: incomplete type
+                        pointer to instance of type T (not function type) 
+
+                with inferred parameters:
+                  ?=?: forall
+                      DT: incomplete type
+                    function
+                    with parameters
+                      pointer to pointer to instance of type DT (not function type) 
+                      pointer to instance of type DT (not function type) 
+                    returning 
+                      pointer to instance of type DT (not function type) 
+
+
+            with inferred parameters:
+              ?=?: forall
+                  DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type DT (not function type) 
+                  pointer to instance of type DT (not function type) 
+                returning 
+                  pointer to instance of type DT (not function type) 
+
+
+        with inferred parameters:
+          ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+--- results are
+        forall
+              _3_T: incomplete type
+            pointer to instance of type _3_T (not function type) 
+
+converting forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type) 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        null: pointer to signed int 
+actuals are:
+                  Application of
+            Variable Expression: id: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Application of
+                Variable Expression: id: forall
+                      T: type
+                        with assertions
+                          ?=?: pointer to function
+                              with parameters
+                                pointer to instance of type T (not function type) 
+                                instance of type T (not function type) 
+                              returning 
+                                instance of type T (not function type) 
+
+
+                    function
+                    with parameters
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+              to arguments
+                                  Application of
+                    Variable Expression: id: forall
+                          T: type
+                            with assertions
+                              ?=?: pointer to function
+                                  with parameters
+                                    pointer to instance of type T (not function type) 
+                                    instance of type T (not function type) 
+                                  returning 
+                                    instance of type T (not function type) 
+
+
+                        function
+                        with parameters
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+                  to arguments
+                                          Variable Expression: 0: forall
+                            T: incomplete type
+                          pointer to instance of type T (not function type) 
+
+                  with inferred parameters:
+                    ?=?: forall
+                        DT: incomplete type
+                      function
+                      with parameters
+                        pointer to pointer to instance of type DT (not function type) 
+                        pointer to instance of type DT (not function type) 
+                      returning 
+                        pointer to instance of type DT (not function type) 
+
+
+              with inferred parameters:
+                ?=?: forall
+                    DT: incomplete type
+                  function
+                  with parameters
+                    pointer to pointer to instance of type DT (not function type) 
+                    pointer to instance of type DT (not function type) 
+                  returning 
+                    pointer to instance of type DT (not function type) 
+
+
+          with inferred parameters:
+            ?=?: forall
+                DT: incomplete type
+              function
+              with parameters
+                pointer to pointer to instance of type DT (not function type) 
+                pointer to instance of type DT (not function type) 
+              returning 
+                pointer to instance of type DT (not function type) 
+
+
+bindings are:
+        ( _2_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type)  (no widening)
+        ( _1_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type)  (no widening)
+        ( _0_T ) -> forall
+            _3_T: incomplete type
+          pointer to instance of type _3_T (not function type)  (no widening)
+        ( _3_T _5_DT _7_DT _9_DT ) -> signed int  (no widening)
+cost of conversion is:( 0, 1, 0 )
+alternatives before prune:
+Cost ( 0, 1, 0 ): Application of
+  Variable Expression: h: function
+      with parameters
+        null: pointer to signed int 
+      returning 
+        nothing 
+
+to arguments
+      Application of
+      Variable Expression: id: forall
+            T: type
+              with assertions
+                ?=?: pointer to function
+                    with parameters
+                      pointer to instance of type T (not function type) 
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+
+          function
+          with parameters
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+    to arguments
+              Application of
+          Variable Expression: id: forall
+                T: type
+                  with assertions
+                    ?=?: pointer to function
+                        with parameters
+                          pointer to instance of type T (not function type) 
+                          instance of type T (not function type) 
+                        returning 
+                          instance of type T (not function type) 
+
+
+              function
+              with parameters
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+        to arguments
+                      Application of
+              Variable Expression: id: forall
+                    T: type
+                      with assertions
+                        ?=?: pointer to function
+                            with parameters
+                              pointer to instance of type T (not function type) 
+                              instance of type T (not function type) 
+                            returning 
+                              instance of type T (not function type) 
+
+
+                  function
+                  with parameters
+                    instance of type T (not function type) 
+                  returning 
+                    instance of type T (not function type) 
+
+            to arguments
+                              Variable Expression: 0: forall
+                      T: incomplete type
+                    pointer to instance of type T (not function type) 
+
+            with inferred parameters:
+              ?=?: forall
+                  DT: incomplete type
+                function
+                with parameters
+                  pointer to pointer to instance of type DT (not function type) 
+                  pointer to instance of type DT (not function type) 
+                returning 
+                  pointer to instance of type DT (not function type) 
+
+
+        with inferred parameters:
+          ?=?: forall
+              DT: incomplete type
+            function
+            with parameters
+              pointer to pointer to instance of type DT (not function type) 
+              pointer to instance of type DT (not function type) 
+            returning 
+              pointer to instance of type DT (not function type) 
+
+
+    with inferred parameters:
+      ?=?: forall
+          DT: incomplete type
+        function
+        with parameters
+          pointer to pointer to instance of type DT (not function type) 
+          pointer to instance of type DT (not function type) 
+        returning 
+          pointer to instance of type DT (not function type) 
+
+
+(types:
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _1_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _0_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _3_T _5_DT _7_DT _9_DT ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: h: function
+        with parameters
+          null: pointer to signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Application of
+        Variable Expression: id: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+      to arguments
+                  Application of
+            Variable Expression: id: forall
+                  T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type T (not function type) 
+                            instance of type T (not function type) 
+                          returning 
+                            instance of type T (not function type) 
+
+
+                function
+                with parameters
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+          to arguments
+                          Application of
+                Variable Expression: id: forall
+                      T: type
+                        with assertions
+                          ?=?: pointer to function
+                              with parameters
+                                pointer to instance of type T (not function type) 
+                                instance of type T (not function type) 
+                              returning 
+                                instance of type T (not function type) 
+
+
+                    function
+                    with parameters
+                      instance of type T (not function type) 
+                    returning 
+                      instance of type T (not function type) 
+
+              to arguments
+                                  Variable Expression: 0: forall
+                        T: incomplete type
+                      pointer to instance of type T (not function type) 
+
+              with inferred parameters:
+                ?=?: forall
+                    DT: incomplete type
+                  function
+                  with parameters
+                    pointer to pointer to instance of type DT (not function type) 
+                    pointer to instance of type DT (not function type) 
+                  returning 
+                    pointer to instance of type DT (not function type) 
+
+
+          with inferred parameters:
+            ?=?: forall
+                DT: incomplete type
+              function
+              with parameters
+                pointer to pointer to instance of type DT (not function type) 
+                pointer to instance of type DT (not function type) 
+              returning 
+                pointer to instance of type DT (not function type) 
+
+
+      with inferred parameters:
+        ?=?: forall
+            DT: incomplete type
+          function
+          with parameters
+            pointer to pointer to instance of type DT (not function type) 
+            pointer to instance of type DT (not function type) 
+          returning 
+            pointer to instance of type DT (not function type) 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment:   ( _2_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _1_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _0_T ) -> forall
+      _3_T: incomplete type
+    pointer to instance of type _3_T (not function type)  (no widening)
+  ( _3_T _5_DT _7_DT _9_DT ) -> signed int  (no widening)
+
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int ___operator_assign__Fi_Pii_(int *, int );
+void *___operator_assign__A0_1_0__FPd0_PPd0Pd0_(void **, void *);
+void __a__F__(){
+    void __f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *);
+    void __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(void (*__p__PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0_)(void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void *));
+    __g__F_PA1_0_0____operator_assign__PFt0_Pt0t0__F_t0__(__f__A1_0_0____operator_assign__PFt0_Pt0t0__F_t0_);
+}
+void __g__F__(){
+    void __h__F_Pi_(int *__null__Pi);
+    void __id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void *, void *);
+    void *___constant_zero__A0_1_0__Pd0;
+    int ___constant_zero__i;
+    void *_thunk0(void **_p0, void *_p1){
+        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
+    }
+    void *_thunk1(void **_p0, void *_p1){
+        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
+    }
+    void *_thunk2(void **_p0, void *_p1){
+        return ___operator_assign__A0_1_0__FPd0_PPd0Pd0_(_p0, _p1);
+    }
+    void *_temp0;
+    void _adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){
+        ((*((_3_T **)_ret))=((void *(*)(void **, void *))_adaptee)(_p0, (*((_3_T **)_p1))));
+    }
+    void *_temp1;
+    void *_temp2;
+    __h__F_Pi_((__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk2)), (&_temp2), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk1)), (&_temp1), (&(__id__A1_0_0____operator_assign__PFt0_Pt0t0__Ft0_t0_(_adapterFA0_1_0__Pd0_PA0_1_0__Pd1A0_1_0__Pd2_, sizeof(_3_T *), ((void (*)())(&_thunk0)), (&_temp0), (&___constant_zero__A0_1_0__Pd0)) , _temp0))) , _temp1))) , _temp2));
+}
Index: src/Tests/Expect-r/Scope.txt
===================================================================
--- src/Tests/Expect-r/Scope.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Scope.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3706 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    a: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  a: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: double 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: double 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: double 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to double 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: double 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: double 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue double 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type u (not function type) 
+(types:
+    lvalue pointer to instance of type u (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is y
+decl is y: double 
+newExpr is Variable Expression: y: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type x (not function type) 
+    _src: instance of type x (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type x (not function type) 
+          _src: instance of type x (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+nameExpr is u
+nameExpr is t
+decl is t: function
+  with parameters
+    instance of type u (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: t: function
+    with parameters
+      instance of type u (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: function
+    with parameters
+      instance of type u (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          instance of type u (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is u
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type x (not function type) 
+    _src: instance of type x (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type x (not function type) 
+          _src: instance of type x (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+nameExpr is z
+decl is z: double 
+newExpr is Variable Expression: z: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: z: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: z: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+nameExpr is t
+decl is t: function
+  with parameters
+    instance of type u (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: t: function
+    with parameters
+      instance of type u (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t: function
+    with parameters
+      instance of type u (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          instance of type u (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is u
+nameExpr is u
+decl is u: pointer to function
+  with parameters
+    instance of type t (not function type) 
+  returning 
+    instance of type t (not function type) 
+
+newExpr is Variable Expression: u: pointer to function
+    with parameters
+      instance of type t (not function type) 
+    returning 
+      instance of type t (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: pointer to function
+    with parameters
+      instance of type t (not function type) 
+    returning 
+      instance of type t (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type t (not function type) 
+        returning 
+          instance of type t (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is the_t
+decl is the_t: instance of type t (not function type) 
+newExpr is Variable Expression: the_t: instance of type t (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
+(types:
+    lvalue instance of type t (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
+(types:
+    lvalue instance of type t (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: u: pointer to function
+            with parameters
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+)
+        Environment: 
+formal type is instance of type t (not function type) 
+actual type is lvalue instance of type t (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: the_t: instance of type t (not function type) 
+--- results are
+        lvalue instance of type t (not function type) 
+
+converting lvalue instance of type t (not function type) 
+ to instance of type t (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type t (not function type) 
+actuals are:
+                  Variable Expression: the_t: instance of type t (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: u: pointer to function
+      with parameters
+        instance of type t (not function type) 
+      returning 
+        instance of type t (not function type) 
+
+to arguments
+      Variable Expression: the_t: instance of type t (not function type) 
+
+(types:
+    instance of type t (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: u: pointer to function
+        with parameters
+          instance of type t (not function type) 
+        returning 
+          instance of type t (not function type) 
+
+  to arguments
+          Variable Expression: the_t: instance of type t (not function type) 
+
+
+to:
+  instance of type t (not function type) 
+(types:
+    instance of type t (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type x (not function type) 
+    _src: instance of type x (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+decl is ?=?: pointer to function
+  with parameters
+    pointer to instance of type t (not function type) 
+    instance of type t (not function type) 
+  returning 
+    instance of type t (not function type) 
+
+newExpr is Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type t (not function type) 
+      instance of type t (not function type) 
+    returning 
+      instance of type t (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type x (not function type) 
+          _src: instance of type x (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: pointer to function
+    with parameters
+      pointer to instance of type t (not function type) 
+      instance of type t (not function type) 
+    returning 
+      instance of type t (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          pointer to instance of type t (not function type) 
+          instance of type t (not function type) 
+        returning 
+          instance of type t (not function type) 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+nameExpr is y
+decl is y: instance of type t (not function type) with initializer 
+Simple Initializer:   Cast of:
+    Application of
+      Variable Expression: u: pointer to function
+          with parameters
+            instance of type t (not function type) 
+          returning 
+            instance of type t (not function type) 
+
+    to arguments
+              Variable Expression: the_t: instance of type t (not function type) 
+
+
+  to:
+    instance of type t (not function type) 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: y: instance of type t (not function type) 
+
+decl is y: double 
+newExpr is Variable Expression: y: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: instance of type t (not function type) 
+(types:
+    lvalue instance of type t (not function type) 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: y: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: y: instance of type t (not function type) 
+(types:
+    pointer to instance of type t (not function type) 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: y: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: y: instance of type t (not function type) 
+(types:
+    pointer to instance of type t (not function type) 
+)
+Environment: 
+
+nameExpr is u
+decl is u: pointer to function
+  with parameters
+    instance of type t (not function type) 
+  returning 
+    instance of type t (not function type) 
+
+newExpr is Variable Expression: u: pointer to function
+    with parameters
+      instance of type t (not function type) 
+    returning 
+      instance of type t (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: u: pointer to function
+    with parameters
+      instance of type t (not function type) 
+    returning 
+      instance of type t (not function type) 
+
+(types:
+    lvalue pointer to function
+        with parameters
+          instance of type t (not function type) 
+        returning 
+          instance of type t (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is the_t
+decl is the_t: instance of type t (not function type) 
+newExpr is Variable Expression: the_t: instance of type t (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
+(types:
+    lvalue instance of type t (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: the_t: instance of type t (not function type) 
+(types:
+    lvalue instance of type t (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: u: pointer to function
+            with parameters
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+)
+        Environment: 
+formal type is instance of type t (not function type) 
+actual type is lvalue instance of type t (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: the_t: instance of type t (not function type) 
+--- results are
+        lvalue instance of type t (not function type) 
+
+converting lvalue instance of type t (not function type) 
+ to instance of type t (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        instance of type t (not function type) 
+actuals are:
+                  Variable Expression: the_t: instance of type t (not function type) 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: u: pointer to function
+      with parameters
+        instance of type t (not function type) 
+      returning 
+        instance of type t (not function type) 
+
+to arguments
+      Variable Expression: the_t: instance of type t (not function type) 
+
+(types:
+    instance of type t (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: u: pointer to function
+      with parameters
+        instance of type t (not function type) 
+      returning 
+        instance of type t (not function type) 
+
+to arguments
+      Variable Expression: the_t: instance of type t (not function type) 
+
+(types:
+    instance of type t (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type x (not function type) 
+              _src: instance of type x (not function type) 
+            returning 
+              instance of type x (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type x (not function type) 
+                  _src: instance of type x (not function type) 
+                returning 
+                  instance of type x (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to instance of type t (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type u (not function type) 
+              _src: instance of type u (not function type) 
+            returning 
+              instance of type u (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type u (not function type) 
+                  _src: instance of type u (not function type) 
+                returning 
+                  instance of type u (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to instance of type t (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type t (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: pointer to function
+            with parameters
+              pointer to instance of type t (not function type) 
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+(types:
+            lvalue pointer to function
+                with parameters
+                  pointer to instance of type t (not function type) 
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type t (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type t (not function type) 
+actual type is pointer to instance of type t (not function type) 
+formal type is instance of type t (not function type) 
+actual type is instance of type t (not function type) 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Variable Expression: y: instance of type t (not function type) 
+--- results are
+        pointer to instance of type t (not function type) 
+
+converting pointer to instance of type t (not function type) 
+ to pointer to instance of type t (not function type) 
+cost is( 0, 0, 0 )
+actual expression:
+        Application of
+          Variable Expression: u: pointer to function
+              with parameters
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+        to arguments
+                      Variable Expression: the_t: instance of type t (not function type) 
+
+--- results are
+        instance of type t (not function type) 
+
+converting instance of type t (not function type) 
+ to instance of type t (not function type) 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to instance of type t (not function type) 
+        instance of type t (not function type) 
+actuals are:
+                  Address of:
+            Variable Expression: y: instance of type t (not function type) 
+
+                  Application of
+            Variable Expression: u: pointer to function
+                with parameters
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+          to arguments
+                          Variable Expression: the_t: instance of type t (not function type) 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: pointer to function
+      with parameters
+        pointer to instance of type t (not function type) 
+        instance of type t (not function type) 
+      returning 
+        instance of type t (not function type) 
+
+to arguments
+      Address of:
+      Variable Expression: y: instance of type t (not function type) 
+
+      Application of
+      Variable Expression: u: pointer to function
+          with parameters
+            instance of type t (not function type) 
+          returning 
+            instance of type t (not function type) 
+
+    to arguments
+              Variable Expression: the_t: instance of type t (not function type) 
+
+
+(types:
+    instance of type t (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: pointer to function
+        with parameters
+          pointer to instance of type t (not function type) 
+          instance of type t (not function type) 
+        returning 
+          instance of type t (not function type) 
+
+  to arguments
+          Address of:
+        Variable Expression: y: instance of type t (not function type) 
+
+          Application of
+        Variable Expression: u: pointer to function
+            with parameters
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+      to arguments
+                  Variable Expression: the_t: instance of type t (not function type) 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is x
+decl is x: char 
+newExpr is Variable Expression: x: char 
+
+decl is x: signed int 
+newExpr is Variable Expression: x: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: x: char 
+
+to:
+  char 
+(types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type x (not function type) 
+    _src: instance of type x (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type x (not function type) 
+          _src: instance of type x (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+nameExpr is z
+decl is z: char with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: x: char 
+
+  to:
+    char 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: z: char 
+
+decl is z: double 
+newExpr is Variable Expression: z: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: z: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: z: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: z: char 
+(types:
+    pointer to char 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: z: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: z: char 
+(types:
+    pointer to char 
+)
+Environment: 
+
+nameExpr is x
+decl is x: char 
+newExpr is Variable Expression: x: char 
+
+decl is x: signed int 
+newExpr is Variable Expression: x: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type x (not function type) 
+              _src: instance of type x (not function type) 
+            returning 
+              instance of type x (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type x (not function type) 
+                  _src: instance of type x (not function type) 
+                returning 
+                  instance of type x (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type u (not function type) 
+              _src: instance of type u (not function type) 
+            returning 
+              instance of type u (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type u (not function type) 
+                  _src: instance of type u (not function type) 
+                returning 
+                  instance of type u (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+nameExpr is y
+decl is y: char 
+newExpr is Variable Expression: y: char 
+
+decl is y: double 
+newExpr is Variable Expression: y: double 
+
+decl is y: signed int 
+newExpr is Variable Expression: y: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: y: char 
+
+to:
+  char 
+(types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type x (not function type) 
+    _src: instance of type x (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type x (not function type) 
+          _src: instance of type x (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+nameExpr is x
+decl is x: char 
+newExpr is Variable Expression: x: char 
+
+decl is x: signed int 
+newExpr is Variable Expression: x: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: x: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: x: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: x: char 
+(types:
+    pointer to char 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: x: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: x: char 
+(types:
+    pointer to char 
+)
+Environment: 
+
+nameExpr is y
+decl is y: char 
+newExpr is Variable Expression: y: char 
+
+decl is y: double 
+newExpr is Variable Expression: y: double 
+
+decl is y: signed int 
+newExpr is Variable Expression: y: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type x (not function type) 
+              _src: instance of type x (not function type) 
+            returning 
+              instance of type x (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type x (not function type) 
+                  _src: instance of type x (not function type) 
+                returning 
+                  instance of type x (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type u (not function type) 
+              _src: instance of type u (not function type) 
+            returning 
+              instance of type u (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type u (not function type) 
+                  _src: instance of type u (not function type) 
+                returning 
+                  instance of type u (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to signed int 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+nameExpr is y
+decl is y: char 
+newExpr is Variable Expression: y: char 
+
+decl is y: double 
+newExpr is Variable Expression: y: double 
+
+decl is y: signed int 
+newExpr is Variable Expression: y: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: y: char 
+
+to:
+  char 
+(types:
+    char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  a: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                a: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type u (not function type) 
+    _src: instance of type u (not function type) 
+  returning 
+    instance of type u (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type u (not function type) 
+
+    to:
+      instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type x (not function type) 
+    _src: instance of type x (not function type) 
+  returning 
+    instance of type x (not function type) 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type u (not function type) 
+      _src: instance of type u (not function type) 
+    returning 
+      instance of type u (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type u (not function type) 
+          _src: instance of type u (not function type) 
+        returning 
+          instance of type u (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type x (not function type) 
+      _src: instance of type x (not function type) 
+    returning 
+      instance of type x (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type x (not function type) 
+          _src: instance of type x (not function type) 
+        returning 
+          instance of type x (not function type) 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+nameExpr is q
+decl is q: forall
+    t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type t (not function type) 
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type t (not function type) 
+  returning 
+    double 
+  with body 
+    CompoundStmt
+      Declaration of y: instance of type t (not function type) with initializer 
+        Simple Initializer:           Cast of:
+            Application of
+              Variable Expression: u: pointer to function
+                  with parameters
+                    instance of type t (not function type) 
+                  returning 
+                    instance of type t (not function type) 
+
+            to arguments
+                              Variable Expression: the_t: instance of type t (not function type) 
+
+
+          to:
+            instance of type t (not function type) 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: pointer to function
+                with parameters
+                  pointer to instance of type t (not function type) 
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+          to arguments
+                          Address of:
+                Variable Expression: y: instance of type t (not function type) 
+
+                          Application of
+                Variable Expression: u: pointer to function
+                    with parameters
+                      instance of type t (not function type) 
+                    returning 
+                      instance of type t (not function type) 
+
+              to arguments
+                                  Variable Expression: the_t: instance of type t (not function type) 
+
+
+          with environment:
+            Types:
+            Non-types:
+
+
+newExpr is Variable Expression: q: forall
+      t: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type t (not function type) 
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+          u: pointer to function
+              with parameters
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+
+    function
+    with parameters
+      the_t: instance of type t (not function type) 
+    returning 
+      double 
+
+
+decl is q: char with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: y: char 
+
+  to:
+    char 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: q: char 
+
+decl is q: double 
+newExpr is Variable Expression: q: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: forall
+      t: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type t (not function type) 
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+          u: pointer to function
+              with parameters
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+
+    function
+    with parameters
+      the_t: instance of type t (not function type) 
+    returning 
+      double 
+
+(types:
+    forall
+          _0_t: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_t (not function type) 
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+              u: pointer to function
+                  with parameters
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+
+        lvalue function
+        with parameters
+          the_t: instance of type _0_t (not function type) 
+        returning 
+          double 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: q: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: q: char 
+(types:
+    pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: q: forall
+        t: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type t (not function type) 
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+            u: pointer to function
+                with parameters
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+
+      function
+      with parameters
+        the_t: instance of type t (not function type) 
+      returning 
+        double 
+
+(types:
+    pointer to forall
+          _0_t: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_t (not function type) 
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+              u: pointer to function
+                  with parameters
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+
+        function
+        with parameters
+          the_t: instance of type _0_t (not function type) 
+        returning 
+          double 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: q: double 
+(types:
+    pointer to double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: q: char 
+(types:
+    pointer to char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: q: forall
+        t: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type t (not function type) 
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+            u: pointer to function
+                with parameters
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+
+      function
+      with parameters
+        the_t: instance of type t (not function type) 
+      returning 
+        double 
+
+(types:
+    pointer to forall
+          _0_t: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_t (not function type) 
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+              u: pointer to function
+                  with parameters
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+
+        function
+        with parameters
+          the_t: instance of type _0_t (not function type) 
+        returning 
+          double 
+
+)
+Environment: 
+
+nameExpr is y
+decl is y: char 
+newExpr is Variable Expression: y: char 
+
+decl is y: double 
+newExpr is Variable Expression: y: double 
+
+decl is y: signed int 
+newExpr is Variable Expression: y: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: y: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type x (not function type) 
+              _src: instance of type x (not function type) 
+            returning 
+              instance of type x (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type x (not function type) 
+                  _src: instance of type x (not function type) 
+                returning 
+                  instance of type x (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type x (not function type) 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type u (not function type) 
+              _src: instance of type u (not function type) 
+            returning 
+              instance of type u (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type u (not function type) 
+                  _src: instance of type u (not function type) 
+                returning 
+                  instance of type u (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to double 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to char 
+formal type is pointer to instance of type u (not function type) 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to double 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to char 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to forall
+    _0_t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type _0_t (not function type) 
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type _0_t (not function type) 
+            returning 
+              instance of type _0_t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type _0_t (not function type) 
+  returning 
+    double 
+
+nameExpr is some_func
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is q
+decl is q: forall
+    t: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type t (not function type) 
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+        u: pointer to function
+            with parameters
+              instance of type t (not function type) 
+            returning 
+              instance of type t (not function type) 
+
+
+  function
+  with parameters
+    the_t: instance of type t (not function type) 
+  returning 
+    double 
+  with body 
+    CompoundStmt
+      Declaration of y: instance of type t (not function type) with initializer 
+        Simple Initializer:           Cast of:
+            Application of
+              Variable Expression: u: pointer to function
+                  with parameters
+                    instance of type t (not function type) 
+                  returning 
+                    instance of type t (not function type) 
+
+            to arguments
+                              Variable Expression: the_t: instance of type t (not function type) 
+
+
+          to:
+            instance of type t (not function type) 
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: pointer to function
+                with parameters
+                  pointer to instance of type t (not function type) 
+                  instance of type t (not function type) 
+                returning 
+                  instance of type t (not function type) 
+
+          to arguments
+                          Address of:
+                Variable Expression: y: instance of type t (not function type) 
+
+                          Application of
+                Variable Expression: u: pointer to function
+                    with parameters
+                      instance of type t (not function type) 
+                    returning 
+                      instance of type t (not function type) 
+
+              to arguments
+                                  Variable Expression: the_t: instance of type t (not function type) 
+
+
+          with environment:
+            Types:
+            Non-types:
+
+
+newExpr is Variable Expression: q: forall
+      t: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type t (not function type) 
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+          u: pointer to function
+              with parameters
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+
+    function
+    with parameters
+      the_t: instance of type t (not function type) 
+    returning 
+      double 
+
+
+decl is q: function
+    accepting unspecified arguments
+  returning 
+    double 
+  with parameter names
+    i
+  with parameter declarations
+    i: signed int 
+  with body 
+    CompoundStmt
+              Switch on condition: Variable Expression: i: signed int 
+with environment:
+  Types:
+  Non-types:
+
+            Case Name: 0
+
+                Return Statement, returning: Name: q
+
+            Default 
+                Return Statement, returning: Name: i
+
+
+
+newExpr is Variable Expression: q: function
+      accepting unspecified arguments
+    returning 
+      double 
+
+
+decl is q: char with initializer 
+Simple Initializer:   Cast of:
+    Variable Expression: y: char 
+
+  to:
+    char 
+  with environment:
+    Types:
+    Non-types:
+
+newExpr is Variable Expression: q: char 
+
+decl is q: double 
+newExpr is Variable Expression: q: double 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: q: forall
+      t: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type t (not function type) 
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+          u: pointer to function
+              with parameters
+                instance of type t (not function type) 
+              returning 
+                instance of type t (not function type) 
+
+
+    function
+    with parameters
+      the_t: instance of type t (not function type) 
+    returning 
+      double 
+
+(types:
+    pointer to forall
+          _0_t: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_t (not function type) 
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+              u: pointer to function
+                  with parameters
+                    instance of type _0_t (not function type) 
+                  returning 
+                    instance of type _0_t (not function type) 
+
+
+        function
+        with parameters
+          the_t: instance of type _0_t (not function type) 
+        returning 
+          double 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: function
+      accepting unspecified arguments
+    returning 
+      double 
+
+(types:
+    pointer to function
+          accepting unspecified arguments
+        returning 
+          double 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: char 
+(types:
+    lvalue char 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: q: double 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: q: double 
+
+to:
+  double 
+(types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 6 ): Cast of:
+  Variable Expression: i: signed int 
+
+to:
+  double 
+(types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        a: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      a: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        b: double 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      b: double 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type u (not function type) 
+
+to:
+  pointer to instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+  Name: y
+
+to:
+  instance of type u (not function type) 
+
+Error: No reasonable alternatives for expression Name: u
+
+Error: No reasonable alternatives for expression Name: u
+
+Error: No reasonable alternatives for expression Name: u
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: z
+    Name: x
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: x
+    Name: y
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: q
+    Name: y
+
+Error: No reasonable alternatives for expression Name: some_func
+
Index: src/Tests/Expect-r/ScopeErrors.txt
===================================================================
--- src/Tests/Expect-r/ScopeErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/ScopeErrors.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,8 @@
+Error: duplicate function definition for butThisIsAnError: function
+  with parameters
+    double 
+  returning 
+    double 
+  with body 
+    CompoundStmt
+
Index: src/Tests/Expect-r/ShortCircuit.txt
===================================================================
--- src/Tests/Expect-r/ShortCircuit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/ShortCircuit.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3202 @@
+nameExpr is g
+decl is g: function
+  with parameters
+    float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    float 
+    float 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              float 
+              float 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                  float 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue signed int 
+formal type is float 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+        float 
+actuals are:
+                  Cast of:
+            Variable Expression: a: signed int 
+
+          to:
+            float 
+
+                  Cast of:
+            Variable Expression: 0: signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 10 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 10 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        float 
+        float 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: signed int 
+
+    to:
+      float 
+
+      Cast of:
+      Variable Expression: 0: signed int 
+
+    to:
+      float 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is c
+decl is c: float 
+newExpr is Variable Expression: c: float 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+alternatives before prune:
+Cost ( 0, 0, 0 ): Conditional expression on: 
+  Cast of:
+    Application of
+      Variable Expression: ?!=?: function
+          with parameters
+            signed int 
+            signed int 
+          returning 
+            signed int 
+
+    to arguments
+              Variable Expression: a: signed int 
+
+              Variable Expression: 0: signed int 
+
+
+  to:
+    signed int 
+First alternative:
+  Variable Expression: b: signed int 
+Second alternative:
+  Variable Expression: c: float 
+
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Conditional expression on: 
+  Cast of:
+    Application of
+      Variable Expression: ?!=?: function
+          with parameters
+            signed int 
+            signed int 
+          returning 
+            signed int 
+
+    to arguments
+              Variable Expression: a: signed int 
+
+              Variable Expression: 0: signed int 
+
+
+  to:
+    signed int 
+First alternative:
+  Variable Expression: b: signed int 
+Second alternative:
+  Variable Expression: c: float 
+
+(types:
+    lvalue float 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue float 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Conditional expression on: 
+          Cast of:
+            Application of
+              Variable Expression: ?!=?: function
+                  with parameters
+                    signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+            to arguments
+                              Variable Expression: a: signed int 
+
+                              Variable Expression: 0: signed int 
+
+
+          to:
+            signed int 
+        First alternative:
+          Variable Expression: b: signed int 
+        Second alternative:
+          Variable Expression: c: float 
+
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Cast of:
+            Conditional expression on: 
+              Cast of:
+                Application of
+                  Variable Expression: ?!=?: function
+                      with parameters
+                        signed int 
+                        signed int 
+                      returning 
+                        signed int 
+
+                to arguments
+                                      Variable Expression: a: signed int 
+
+                                      Variable Expression: 0: signed int 
+
+
+              to:
+                signed int 
+            First alternative:
+              Variable Expression: b: signed int 
+            Second alternative:
+              Variable Expression: c: float 
+
+
+          to:
+            signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Conditional expression on: 
+          Cast of:
+            Application of
+              Variable Expression: ?!=?: function
+                  with parameters
+                    signed int 
+                    signed int 
+                  returning 
+                    signed int 
+
+            to arguments
+                              Variable Expression: a: signed int 
+
+                              Variable Expression: 0: signed int 
+
+
+          to:
+            signed int 
+        First alternative:
+          Variable Expression: b: signed int 
+        Second alternative:
+          Variable Expression: c: float 
+
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to float 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Conditional expression on: 
+            Cast of:
+              Application of
+                Variable Expression: ?!=?: function
+                    with parameters
+                      signed int 
+                      signed int 
+                    returning 
+                      signed int 
+
+              to arguments
+                                  Variable Expression: a: signed int 
+
+                                  Variable Expression: 0: signed int 
+
+
+            to:
+              signed int 
+          First alternative:
+            Variable Expression: b: signed int 
+          Second alternative:
+            Variable Expression: c: float 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Conditional expression on: 
+        Cast of:
+          Application of
+            Variable Expression: ?!=?: function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Variable Expression: a: signed int 
+
+                          Variable Expression: 0: signed int 
+
+
+        to:
+          signed int 
+      First alternative:
+        Variable Expression: b: signed int 
+      Second alternative:
+        Variable Expression: c: float 
+
+
+    to:
+      signed int 
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        float 
+      returning 
+        nothing 
+
+to arguments
+      Conditional expression on: 
+      Cast of:
+        Application of
+          Variable Expression: ?!=?: function
+              with parameters
+                signed int 
+                signed int 
+              returning 
+                signed int 
+
+        to arguments
+                      Variable Expression: a: signed int 
+
+                      Variable Expression: 0: signed int 
+
+
+      to:
+        signed int 
+    First alternative:
+      Variable Expression: b: signed int 
+    Second alternative:
+      Variable Expression: c: float 
+
+
+(types:
+)
+Environment: 
+
+cost ( 0, 0, 0 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+  to arguments
+          Conditional expression on: 
+        Cast of:
+          Application of
+            Variable Expression: ?!=?: function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+          to arguments
+                          Variable Expression: a: signed int 
+
+                          Variable Expression: 0: signed int 
+
+
+        to:
+          signed int 
+      First alternative:
+        Variable Expression: b: signed int 
+      Second alternative:
+        Variable Expression: c: float 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    float 
+    float 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              float 
+              float 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                  float 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue signed int 
+formal type is float 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+        float 
+actuals are:
+                  Cast of:
+            Variable Expression: a: signed int 
+
+          to:
+            float 
+
+                  Cast of:
+            Variable Expression: 0: signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 10 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 10 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        float 
+        float 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: signed int 
+
+    to:
+      float 
+
+      Cast of:
+      Variable Expression: 0: signed int 
+
+    to:
+      float 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    float 
+    float 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is c
+decl is c: float 
+newExpr is Variable Expression: c: float 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: float 
+(types:
+    lvalue float 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue float 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              float 
+              float 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                  float 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue float 
+formal type is float 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: c: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to signed int 
+cost is( 1, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Cast of:
+            Variable Expression: c: float 
+
+          to:
+            signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+actual expression:
+        Variable Expression: c: float 
+--- results are
+        lvalue float 
+
+converting lvalue float 
+ to float 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+        float 
+actuals are:
+                  Variable Expression: c: float 
+
+                  Cast of:
+            Variable Expression: 0: signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 5 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: c: float 
+
+    to:
+      signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 5 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        float 
+        float 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: c: float 
+
+      Cast of:
+      Variable Expression: 0: signed int 
+
+    to:
+      float 
+
+(types:
+    signed int 
+)
+Environment: 
+
+cost ( 0, 0, 5 ) beats ( 1, 0, 0 )
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is float 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+--- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+--- results are
+        signed int 
+
+converting signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Cast of:
+            Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 5 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 5 ): Application of
+  Variable Expression: g: function
+      with parameters
+        float 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+
+    to:
+      float 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Short-circuited operation (and) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: c: float 
+
+          Cast of:
+        Variable Expression: 0: signed int 
+
+      to:
+        float 
+
+
+to:
+  signed int 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    float 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+
+decl is g: function
+  with parameters
+    signed int 
+  returning 
+    nothing 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      float 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+    returning 
+      nothing 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    float 
+    float 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              float 
+              float 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                  float 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue signed int 
+formal type is float 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+        float 
+actuals are:
+                  Cast of:
+            Variable Expression: a: signed int 
+
+          to:
+            float 
+
+                  Cast of:
+            Variable Expression: 0: signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 10 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 10 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        float 
+        float 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: a: signed int 
+
+    to:
+      float 
+
+      Cast of:
+      Variable Expression: 0: signed int 
+
+    to:
+      float 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    float 
+    float 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      float 
+      float 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          float 
+          float 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              float 
+              float 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                  float 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is float 
+actual type is lvalue signed int 
+formal type is float 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: b: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Variable Expression: b: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+        float 
+actuals are:
+                  Cast of:
+            Variable Expression: b: signed int 
+
+          to:
+            float 
+
+                  Cast of:
+            Variable Expression: 0: signed int 
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 10 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: b: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 10 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        float 
+        float 
+      returning 
+        signed int 
+
+to arguments
+      Cast of:
+      Variable Expression: b: signed int 
+
+    to:
+      float 
+
+      Cast of:
+      Variable Expression: 0: signed int 
+
+    to:
+      float 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              float 
+            returning 
+              nothing 
+
+(types:
+            pointer to function
+                with parameters
+                  float 
+                returning 
+                  nothing 
+
+)
+        Environment: 
+formal type is float 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+--- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+                  Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+actual expression:
+        Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+--- results are
+        signed int 
+
+converting signed int 
+ to float 
+cost is( 0, 0, 5 )
+Case +++++++++++++
+formals are:
+        float 
+actuals are:
+                  Cast of:
+            Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+
+          to:
+            float 
+
+bindings are:
+cost of conversion is:( 0, 0, 5 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+      returning 
+        nothing 
+
+to arguments
+      Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+
+(types:
+)
+Environment: 
+
+Cost ( 0, 0, 5 ): Application of
+  Variable Expression: g: function
+      with parameters
+        float 
+      returning 
+        nothing 
+
+to arguments
+      Cast of:
+      Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+
+    to:
+      float 
+
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          signed int 
+        returning 
+          nothing 
+
+  to arguments
+          Short-circuited operation (or) on: Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+ and Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: b: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int ___operator_notequal__Fi_ii_(int , int );
+int ___operator_notequal__Fi_ff_(float , float );
+int ___constant_zero__i;
+void __g__F_f_(float );
+void __g__F_i_(int );
+void __f__F_i_(int __a__i){
+    int __b__i;
+    float __c__f;
+    __g__F_f_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) ? __b__i : __c__f));
+    __g__F_i_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) && ((int )___operator_notequal__Fi_ff_(__c__f, ((float )___constant_zero__i)))));
+    __g__F_i_((((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i)) || ((int )___operator_notequal__Fi_ii_(__b__i, ___constant_zero__i))));
+}
Index: src/Tests/Expect-r/Statement.txt
===================================================================
--- src/Tests/Expect-r/Statement.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Statement.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,1039 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  b: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                b: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: function
+  with parameters
+    pointer to signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      pointer to signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    b: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  b: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              pointer to signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  pointer to signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is pointer to signed int 
+actual type is pointer to signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            b: signed int 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct __anonymous0 
+--- results are
+        pointer to signed int 
+
+converting pointer to signed int 
+ to pointer to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          b: signed int 
+        from aggregate: 
+          Variable Expression: _src: instance of struct __anonymous0 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        pointer to signed int 
+        signed int 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              b: signed int 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct __anonymous0 
+
+                  Member Expression, with field: 
+            b: signed int 
+          from aggregate: 
+            Variable Expression: _src: instance of struct __anonymous0 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: function
+      with parameters
+        pointer to signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        b: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+
+      Member Expression, with field: 
+      b: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: function
+        with parameters
+          pointer to signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          b: signed int 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct __anonymous0 
+
+          Member Expression, with field: 
+        b: signed int 
+      from aggregate: 
+        Variable Expression: _src: instance of struct __anonymous0 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: instance of struct __anonymous0 
+newExpr is Variable Expression: a: instance of struct __anonymous0 
+
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+__anonymous0
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+__anonymous0
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue instance of struct __anonymous0 
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: instance of struct __anonymous0 
+newExpr is Variable Expression: a: instance of struct __anonymous0 
+
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue instance of struct __anonymous0 
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: pointer to signed int 
+newExpr is Variable Expression: b: pointer to signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: b: pointer to signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+decl is ?!=?: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?!=?: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is a
+decl is a: instance of struct __anonymous0 
+newExpr is Variable Expression: a: instance of struct __anonymous0 
+
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: a: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+nameExpr is 0
+decl is 0: signed int 
+newExpr is Variable Expression: 0: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: 0: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?!=?: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+formal type is signed int 
+actual type is lvalue instance of struct __anonymous0 
+actual expression:
+        Variable Expression: a: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: 0: signed int 
+--- results are
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: a: signed int 
+
+                  Variable Expression: 0: signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?!=?: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: a: signed int 
+
+      Variable Expression: 0: signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Application of
+    Variable Expression: ?!=?: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: a: signed int 
+
+          Variable Expression: 0: signed int 
+
+
+to:
+  signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is b
+decl is b: pointer to signed int 
+newExpr is Variable Expression: b: pointer to signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: b: pointer to signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int ___operator_assign__Fi_Pii_(int *, int );
+int ___operator_notequal__Fi_ii_(int , int );
+int ___constant_zero__i;
+void __f__F__(){
+    int __a__i;
+    struct __anonymous0
+    {
+        int __b__i;
+    };
+    inline struct __anonymous0 ___operator_assign__F13s__anonymous0_P13s__anonymous013s__anonymous0_(struct __anonymous0 *___dst__P13s__anonymous0, struct __anonymous0 ___src__13s__anonymous0){
+        ___operator_assign__Fi_Pii_((&(*___dst__P13s__anonymous0).__b__i), ___src__13s__anonymous0.__b__i);
+        return ___src__13s__anonymous0;
+    }
+    struct __anonymous0 __a__13s__anonymous0;
+    if (((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i))) {
+        while (((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i))) {
+            int *__b__Pi;
+            for (__b__Pi;((int )___operator_notequal__Fi_ii_(__a__i, ___constant_zero__i));__b__Pi) {
+            }
+
+        }        
+
+    }
+
+}
Index: src/Tests/Expect-r/StructMember.txt
===================================================================
--- src/Tests/Expect-r/StructMember.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/StructMember.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,23906 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m1: signed int with bitfield width constant expression 3 signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m1: signed int with bitfield width constant expression 3 signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m1: signed int with bitfield width constant expression 3 signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m1: signed int with bitfield width constant expression 3 signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m1: signed int with bitfield width constant expression 3 signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m2: signed int with bitfield width constant expression 4 signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m2: signed int with bitfield width constant expression 4 signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m2: signed int with bitfield width constant expression 4 signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m2: signed int with bitfield width constant expression 4 signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m2: signed int with bitfield width constant expression 4 signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m3: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m4: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m4: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m4: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m4: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m4: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m5: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m5: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m5: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m5: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m5: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m6: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m6: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m6: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m6: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m6: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m7: pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m7: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m7: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m7: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m7: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m8: pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m8: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m8: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m8: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m8: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m9: pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m9: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m9: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m9: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m9: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m10: pointer to function
+      accepting unspecified arguments
+    returning 
+      signed int 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m10: pointer to function
+        accepting unspecified arguments
+      returning 
+        signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m10: pointer to function
+        accepting unspecified arguments
+      returning 
+        signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m10: pointer to function
+      accepting unspecified arguments
+    returning 
+      signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m10: pointer to function
+      accepting unspecified arguments
+    returning 
+      signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to function
+    accepting unspecified arguments
+  returning 
+    signed int 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m11: pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m11: pointer to function
+      with parameters
+        signed int 
+      returning 
+        pointer to signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m11: pointer to function
+      with parameters
+        signed int 
+      returning 
+        pointer to signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m11: pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m11: pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to function
+  with parameters
+    signed int 
+  returning 
+    pointer to signed int 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    T: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    T: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    T: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    T: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m12: pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m12: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m12: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m12: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m12: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m13: pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m13: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m13: pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m13: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m13: pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m14: pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m14: pointer to function
+      with parameters
+        signed int 
+      returning 
+        pointer to signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    m14: pointer to function
+      with parameters
+        signed int 
+      returning 
+        pointer to signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m14: pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  m14: pointer to function
+    with parameters
+      signed int 
+    returning 
+      pointer to signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to function
+  with parameters
+    signed int 
+  returning 
+    pointer to signed int 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to function
+      accepting unspecified arguments
+    returning 
+      signed int 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to function
+        accepting unspecified arguments
+      returning 
+        signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to function
+        accepting unspecified arguments
+      returning 
+        signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to function
+      accepting unspecified arguments
+    returning 
+      signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to function
+      accepting unspecified arguments
+    returning 
+      signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to function
+    accepting unspecified arguments
+  returning 
+    signed int 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to pointer to function
+      with parameters
+        signed int 
+      returning 
+        signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    pointer to pointer to function
+      with parameters
+        signed int 
+      returning 
+        signed int 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  pointer to pointer to function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to pointer to pointer to function
+  with parameters
+    signed int 
+  returning 
+    signed int 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S 
+    _src: instance of struct S 
+  returning 
+    instance of struct S 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m1: signed int with bitfield width constant expression 3 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m1: signed int with bitfield width constant expression 3 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m2: signed int with bitfield width constant expression 4 signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m2: signed int with bitfield width constant expression 4 signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m4: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m4: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m5: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m5: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m6: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m6: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m7: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m7: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m8: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m8: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m9: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m9: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m10: pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m10: pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m11: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m11: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m12: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m12: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m13: pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m13: pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  m14: pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      pointer to signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                m14: pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    pointer to signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to function
+                      accepting unspecified arguments
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to function
+                    accepting unspecified arguments
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  pointer to pointer to function
+                    with parameters
+                      signed int 
+                    returning 
+                      signed int 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                pointer to pointer to function
+                  with parameters
+                    signed int 
+                  returning 
+                    signed int 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S 
+              Member Expression, with field: 
+                signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S 
+      _src: instance of struct S 
+    returning 
+      instance of struct S 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S 
+          _src: instance of struct S 
+        returning 
+          instance of struct S 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct S 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S 
+              _src: instance of struct S 
+            returning 
+              instance of struct S 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S 
+                  _src: instance of struct S 
+                returning 
+                  instance of struct S 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S 
+(types:
+    lvalue instance of struct S 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct S 
+
+to:
+  instance of struct S 
+(types:
+    instance of struct S 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 5 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 5 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is __builtin_memcpy
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of union U 
+(types:
+    lvalue instance of union U 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of union U 
+
+to:
+  instance of union U 
+(types:
+    instance of union U 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m1: signed int with bitfield width constant expression 3 signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m1: signed int with bitfield width constant expression 3 signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m2: signed int with bitfield width constant expression 4 signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m2: signed int with bitfield width constant expression 4 signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m3: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m3: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m4: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m4: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m5: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m5: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m6: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m6: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m7: pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m7: pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m8: pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m8: pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m9: pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m9: pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m10: pointer to function
+            accepting unspecified arguments
+          returning 
+            signed int 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m10: pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m11: pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m11: pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        T: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      T: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        T: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      T: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m12: pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m12: pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m13: pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m13: pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        m14: pointer to function
+          with parameters
+            signed int 
+          returning 
+            pointer to signed int 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      m14: pointer to function
+        with parameters
+          signed int 
+        returning 
+          pointer to signed int 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to function
+            accepting unspecified arguments
+          returning 
+            signed int 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to function
+          accepting unspecified arguments
+        returning 
+          signed int 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        pointer to pointer to function
+          with parameters
+            signed int 
+          returning 
+            signed int 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      pointer to pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S 
+    Member Expression, with field: 
+      signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S 
+
+Error: No reasonable alternatives for expression Name: __builtin_memcpy
+
Index: src/Tests/Expect-r/Subrange.txt
===================================================================
--- src/Tests/Expect-r/Subrange.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Subrange.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,846 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type subrange (not function type) 
+    _src: instance of type subrange (not function type) 
+  returning 
+    instance of type subrange (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
+
+    to:
+      pointer to instance of type base_t (not function type) 
+    Cast of:
+      Variable Expression: _src: instance of type subrange (not function type) 
+
+    to:
+      instance of type base_t (not function type) 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type subrange (not function type) 
+      _src: instance of type subrange (not function type) 
+    returning 
+      instance of type subrange (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type subrange (not function type) 
+      _src: instance of type subrange (not function type) 
+    returning 
+      instance of type subrange (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type subrange (not function type) 
+          _src: instance of type subrange (not function type) 
+        returning 
+          instance of type subrange (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type subrange (not function type) 
+(types:
+    lvalue pointer to instance of type subrange (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is low
+nameExpr is high
+nameExpr is lbound
+decl is lbound: forall
+    T: type
+      with assertions
+        ?=?: pointer to function
+            with parameters
+              pointer to instance of type T (not function type) 
+              instance of type T (not function type) 
+            returning 
+              instance of type T (not function type) 
+
+
+  function
+  with parameters
+    v: instance of type subrange (not function type) 
+      with parameters
+        instance of type T (not function type) 
+                  Name: low
+
+                  Name: high
+
+
+  returning 
+    instance of type T (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Name: low
+
+
+
+newExpr is Variable Expression: lbound: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      v: instance of type subrange (not function type) 
+        with parameters
+          instance of type T (not function type) 
+                      Name: low
+
+                      Name: high
+
+
+    returning 
+      instance of type T (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: lbound: forall
+      T: type
+        with assertions
+          ?=?: pointer to function
+              with parameters
+                pointer to instance of type T (not function type) 
+                instance of type T (not function type) 
+              returning 
+                instance of type T (not function type) 
+
+
+    function
+    with parameters
+      v: instance of type subrange (not function type) 
+        with parameters
+          instance of type T (not function type) 
+                      Name: low
+
+                      Name: high
+
+
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    pointer to forall
+          _0_T: type
+            with assertions
+              ?=?: pointer to function
+                  with parameters
+                    pointer to instance of type _0_T (not function type) 
+                    instance of type _0_T (not function type) 
+                  returning 
+                    instance of type _0_T (not function type) 
+
+
+        function
+        with parameters
+          v: instance of type subrange (not function type) 
+            with parameters
+              instance of type _0_T (not function type) 
+                              Name: low
+
+                              Name: high
+
+
+        returning 
+          instance of type _0_T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is day_of_month
+decl is day_of_month: instance of type subrange (not function type) 
+with parameters
+  unsigned int 
+      Name: 1
+
+  constant expression 31 signed int 
+
+newExpr is Variable Expression: day_of_month: instance of type subrange (not function type) 
+  with parameters
+    unsigned int 
+          Name: 1
+
+    constant expression 31 signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: day_of_month: instance of type subrange (not function type) 
+  with parameters
+    unsigned int 
+          Name: 1
+
+    constant expression 31 signed int 
+
+(types:
+    lvalue instance of type subrange (not function type) 
+      with parameters
+        unsigned int 
+                  Name: 1
+
+        constant expression 31 signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: day_of_month: instance of type subrange (not function type) 
+  with parameters
+    unsigned int 
+          Name: 1
+
+    constant expression 31 signed int 
+
+(types:
+    lvalue instance of type subrange (not function type) 
+      with parameters
+        unsigned int 
+                  Name: 1
+
+        constant expression 31 signed int 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: lbound: forall
+              T: type
+                with assertions
+                  ?=?: pointer to function
+                      with parameters
+                        pointer to instance of type T (not function type) 
+                        instance of type T (not function type) 
+                      returning 
+                        instance of type T (not function type) 
+
+
+            function
+            with parameters
+              v: instance of type subrange (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+                                      Name: low
+
+                                      Name: high
+
+
+            returning 
+              instance of type T (not function type) 
+
+(types:
+            pointer to forall
+                  _0_T: type
+                    with assertions
+                      ?=?: pointer to function
+                          with parameters
+                            pointer to instance of type _0_T (not function type) 
+                            instance of type _0_T (not function type) 
+                          returning 
+                            instance of type _0_T (not function type) 
+
+
+                function
+                with parameters
+                  v: instance of type subrange (not function type) 
+                    with parameters
+                      instance of type _0_T (not function type) 
+                                              Name: low
+
+                                              Name: high
+
+
+                returning 
+                  instance of type _0_T (not function type) 
+
+)
+        Environment: 
+formal type is instance of type subrange (not function type) 
+with parameters
+  instance of type _0_T (not function type) 
+      Name: low
+
+      Name: high
+
+
+actual type is lvalue instance of type subrange (not function type) 
+with parameters
+  unsigned int 
+      Name: 1
+
+  constant expression 31 signed int 
+
+need assertions:
+?=?: pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+(used)============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+inferRecursive: assertion is ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+
+inferRecursive: candidate is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type subrange (not function type) 
+    _src: instance of type subrange (not function type) 
+  returning 
+    instance of type subrange (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
+
+    to:
+      pointer to instance of type base_t (not function type) 
+    Cast of:
+      Variable Expression: _src: instance of type subrange (not function type) 
+
+    to:
+      instance of type base_t (not function type) 
+
+
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    _dst: pointer to instance of type subrange (not function type) 
+    _src: instance of type subrange (not function type) 
+  returning 
+    instance of type subrange (not function type) 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 21 ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type subrange (not function type) 
+    _src: instance of type subrange (not function type) 
+  returning 
+    instance of type subrange (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type subrange (not function type) 
+
+    to:
+      pointer to instance of type base_t (not function type) 
+    Cast of:
+      Variable Expression: _src: instance of type subrange (not function type) 
+
+    to:
+      instance of type base_t (not function type) 
+
+
+
+inferRecursive: candidate is ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+unifying pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+success!
+satisfying assertion 28 ?=?: pointer to function
+  with parameters
+    pointer to instance of type _0_T (not function type) 
+    instance of type _0_T (not function type) 
+  returning 
+    instance of type _0_T (not function type) 
+ with declaration 35 ?=?: pointer to function
+  with parameters
+    pointer to instance of type T (not function type) 
+    instance of type T (not function type) 
+  returning 
+    instance of type T (not function type) 
+
+actual expression:
+        Variable Expression: day_of_month: instance of type subrange (not function type) 
+          with parameters
+            unsigned int 
+                          Name: 1
+
+            constant expression 31 signed int 
+
+--- results are
+        lvalue instance of type subrange (not function type) 
+          with parameters
+            unsigned int 
+                          Name: 1
+
+            constant expression 31 signed int 
+
+
+converting lvalue instance of type subrange (not function type) 
+        with parameters
+          unsigned int 
+                      Name: 1
+
+          constant expression 31 signed int 
+
+ to instance of type subrange (not function type) 
+        with parameters
+          instance of type _0_T (not function type) 
+                      Name: low
+
+                      Name: high
+
+
+cost is( -1, -1, 0 )
+
+converting pointer to function
+          with parameters
+            _dst: pointer to instance of type subrange (not function type) 
+            _src: instance of type subrange (not function type) 
+          returning 
+            instance of type subrange (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        v: instance of type subrange (not function type) 
+          with parameters
+            instance of type _0_T (not function type) 
+                          Name: low
+
+                          Name: high
+
+
+actuals are:
+                  Cast of:
+            Variable Expression: day_of_month: instance of type subrange (not function type) 
+              with parameters
+                unsigned int 
+                                  Name: 1
+
+                constant expression 31 signed int 
+
+
+          to:
+            instance of type subrange (not function type) 
+              with parameters
+                instance of type _0_T (not function type) 
+                                  Name: low
+
+                                  Name: high
+
+
+
+bindings are:
+        ( _0_T ) -> instance of type subrange (not function type)  (no widening)
+cost of conversion is:( -1, 2, 0 )
+actual expression:
+        Variable Expression: day_of_month: instance of type subrange (not function type) 
+          with parameters
+            unsigned int 
+                          Name: 1
+
+            constant expression 31 signed int 
+
+--- results are
+        lvalue instance of type subrange (not function type) 
+          with parameters
+            unsigned int 
+                          Name: 1
+
+            constant expression 31 signed int 
+
+
+converting lvalue instance of type subrange (not function type) 
+        with parameters
+          unsigned int 
+                      Name: 1
+
+          constant expression 31 signed int 
+
+ to instance of type subrange (not function type) 
+        with parameters
+          instance of type _0_T (not function type) 
+                      Name: low
+
+                      Name: high
+
+
+cost is( -1, -1, 0 )
+
+converting pointer to function
+          with parameters
+            pointer to instance of type T (not function type) 
+            instance of type T (not function type) 
+          returning 
+            instance of type T (not function type) 
+
+ to pointer to function
+          with parameters
+            pointer to instance of type _0_T (not function type) 
+            instance of type _0_T (not function type) 
+          returning 
+            instance of type _0_T (not function type) 
+
+cost of conversion is ( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        v: instance of type subrange (not function type) 
+          with parameters
+            instance of type _0_T (not function type) 
+                          Name: low
+
+                          Name: high
+
+
+actuals are:
+                  Cast of:
+            Variable Expression: day_of_month: instance of type subrange (not function type) 
+              with parameters
+                unsigned int 
+                                  Name: 1
+
+                constant expression 31 signed int 
+
+
+          to:
+            instance of type subrange (not function type) 
+              with parameters
+                instance of type _0_T (not function type) 
+                                  Name: low
+
+                                  Name: high
+
+
+
+bindings are:
+        ( _0_T ) -> instance of type T (not function type)  (no widening)
+cost of conversion is:( -1, 2, 0 )
+alternatives before prune:
+Cost ( -1, 2, 0 ): Application of
+  Variable Expression: lbound: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        v: instance of type subrange (not function type) 
+          with parameters
+            instance of type T (not function type) 
+                          Name: low
+
+                          Name: high
+
+
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Cast of:
+      Variable Expression: day_of_month: instance of type subrange (not function type) 
+        with parameters
+          unsigned int 
+                      Name: 1
+
+          constant expression 31 signed int 
+
+
+    to:
+      instance of type subrange (not function type) 
+        with parameters
+          instance of type _0_T (not function type) 
+                      Name: low
+
+                      Name: high
+
+
+
+with inferred parameters:
+  ?=?: function
+    with parameters
+      _dst: pointer to instance of type subrange (not function type) 
+      _src: instance of type subrange (not function type) 
+    returning 
+      instance of type subrange (not function type) 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> instance of type subrange (not function type)  (no widening)
+
+
+Cost ( -1, 2, 0 ): Application of
+  Variable Expression: lbound: forall
+        T: type
+          with assertions
+            ?=?: pointer to function
+                with parameters
+                  pointer to instance of type T (not function type) 
+                  instance of type T (not function type) 
+                returning 
+                  instance of type T (not function type) 
+
+
+      function
+      with parameters
+        v: instance of type subrange (not function type) 
+          with parameters
+            instance of type T (not function type) 
+                          Name: low
+
+                          Name: high
+
+
+      returning 
+        instance of type T (not function type) 
+
+to arguments
+      Cast of:
+      Variable Expression: day_of_month: instance of type subrange (not function type) 
+        with parameters
+          unsigned int 
+                      Name: 1
+
+          constant expression 31 signed int 
+
+
+    to:
+      instance of type subrange (not function type) 
+        with parameters
+          instance of type _0_T (not function type) 
+                      Name: low
+
+                      Name: high
+
+
+
+with inferred parameters:
+  ?=?: pointer to function
+    with parameters
+      pointer to instance of type T (not function type) 
+      instance of type T (not function type) 
+    returning 
+      instance of type T (not function type) 
+
+(types:
+    instance of type _0_T (not function type) 
+)
+Environment:   ( _0_T ) -> instance of type T (not function type)  (no widening)
+
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is ?!=?
+nameExpr is target
+decl is target: pointer to instance of type subrange (not function type) 
+with parameters
+  instance of type T (not function type) 
+      Name: low
+
+      Name: high
+
+
+newExpr is Variable Expression: target: pointer to instance of type subrange (not function type) 
+  with parameters
+    instance of type T (not function type) 
+          Name: low
+
+          Name: high
+
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: target: pointer to instance of type subrange (not function type) 
+  with parameters
+    instance of type T (not function type) 
+          Name: low
+
+          Name: high
+
+
+(types:
+    lvalue pointer to instance of type subrange (not function type) 
+      with parameters
+        instance of type T (not function type) 
+                  Name: low
+
+                  Name: high
+
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?!=?
+nameExpr is target
+decl is target: pointer to instance of type subrange (not function type) 
+with parameters
+  instance of type T (not function type) 
+      Name: t_low
+
+      Name: t_high
+
+
+newExpr is Variable Expression: target: pointer to instance of type subrange (not function type) 
+  with parameters
+    instance of type T (not function type) 
+          Name: t_low
+
+          Name: t_high
+
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: target: pointer to instance of type subrange (not function type) 
+  with parameters
+    instance of type T (not function type) 
+          Name: t_low
+
+          Name: t_high
+
+
+(types:
+    lvalue pointer to instance of type subrange (not function type) 
+      with parameters
+        instance of type T (not function type) 
+                  Name: t_low
+
+                  Name: t_high
+
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type subrange (not function type) 
+
+to:
+  pointer to instance of type base_t (not function type) 
+
+Error: No reasonable alternatives for expression Name: low
+
+Error: No reasonable alternatives for expression Name: high
+
+Error: No reasonable alternatives for expression Cast of:
+  Applying untyped: 
+      Name: lbound
+  ...to: 
+      Name: day_of_month
+
+to:
+  unsigned int 
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Cast of:
+  Name: target
+
+to:
+  instance of type subrange (not function type) 
+    with parameters
+      instance of type T (not function type) 
+              Name: low
+
+              Name: high
+
+
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Cast of:
+  Name: target
+
+to:
+  instance of type subrange (not function type) 
+    with parameters
+      instance of type T (not function type) 
+              Name: t_low
+
+              Name: t_high
+
+
+
Index: src/Tests/Expect-r/Switch.txt
===================================================================
--- src/Tests/Expect-r/Switch.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Switch.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,142 @@
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+nameExpr is ?=?
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+nameExpr is i
+decl is i: signed int 
+newExpr is Variable Expression: i: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: i: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+nameExpr is ?=?
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
Index: src/Tests/Expect-r/Tuple.txt
===================================================================
--- src/Tests/Expect-r/Tuple.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Tuple.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,12836 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct inner 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f2: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct inner 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct inner 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f2: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct inner 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct inner 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f2: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct inner 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct inner 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f3: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct inner 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct inner 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f3: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct inner 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct inner 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f3: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct inner 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct inner 
+(types:
+    lvalue instance of struct inner 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+(types:
+    instance of struct inner 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct outer 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f1: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f1: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f1: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct outer 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of struct inner 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    lvalue instance of struct inner 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of struct inner 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    pointer to instance of struct inner 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of struct inner 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    pointer to instance of struct inner 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of struct inner 
+from aggregate: 
+  Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue instance of struct inner 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of struct inner 
+from aggregate: 
+  Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue instance of struct inner 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to instance of struct inner 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to instance of struct inner 
+formal type is instance of struct inner 
+actual type is lvalue instance of struct inner 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Address of:
+          Member Expression, with field: 
+            i: instance of struct inner 
+          from aggregate: 
+            Applying untyped: 
+                Name: *?
+            ...to: 
+                Variable Expression: _dst: pointer to instance of struct outer 
+--- results are
+        pointer to instance of struct inner 
+
+converting pointer to instance of struct inner 
+ to pointer to instance of struct inner 
+cost is( 0, 0, 0 )
+actual expression:
+        Member Expression, with field: 
+          i: instance of struct inner 
+        from aggregate: 
+          Variable Expression: _src: instance of struct outer 
+--- results are
+        lvalue instance of struct inner 
+
+converting lvalue instance of struct inner 
+ to instance of struct inner 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        _dst: pointer to instance of struct inner 
+        _src: instance of struct inner 
+actuals are:
+                  Address of:
+            Member Expression, with field: 
+              i: instance of struct inner 
+            from aggregate: 
+              Applying untyped: 
+                  Name: *?
+              ...to: 
+                  Variable Expression: _dst: pointer to instance of struct outer 
+
+                  Member Expression, with field: 
+            i: instance of struct inner 
+          from aggregate: 
+            Variable Expression: _src: instance of struct outer 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: ?=?: inline static function
+      with parameters
+        _dst: pointer to instance of struct inner 
+        _src: instance of struct inner 
+      returning 
+        instance of struct inner 
+
+to arguments
+      Address of:
+      Member Expression, with field: 
+        i: instance of struct inner 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct outer 
+
+      Member Expression, with field: 
+      i: instance of struct inner 
+    from aggregate: 
+      Variable Expression: _src: instance of struct outer 
+
+(types:
+    instance of struct inner 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: ?=?: inline static function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+  to arguments
+          Address of:
+        Member Expression, with field: 
+          i: instance of struct inner 
+        from aggregate: 
+          Applying untyped: 
+              Name: *?
+          ...to: 
+              Variable Expression: _dst: pointer to instance of struct outer 
+
+          Member Expression, with field: 
+        i: instance of struct inner 
+      from aggregate: 
+        Variable Expression: _src: instance of struct outer 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct outer 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f4: double 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f4: double 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    pointer to double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    f4: double 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct outer 
+(types:
+    pointer to double 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f4: double 
+from aggregate: 
+  Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  f4: double 
+from aggregate: 
+  Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue double 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to double 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to double 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct outer 
+(types:
+    lvalue instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+(types:
+    instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is y
+decl is y: unsigned int 
+newExpr is Variable Expression: y: unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+nameExpr is x
+decl is x: short signed int 
+newExpr is Variable Expression: x: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: y: unsigned int 
+
+      Variable Expression: x: short signed int 
+
+(types:
+    lvalue unsigned int 
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: y: unsigned int 
+
+          Variable Expression: x: short signed int 
+
+(types:
+    pointer to unsigned int 
+    pointer to short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: y: unsigned int 
+
+          Variable Expression: x: short signed int 
+
+(types:
+    pointer to unsigned int 
+    pointer to short signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is x
+decl is x: short signed int 
+newExpr is Variable Expression: x: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+nameExpr is y
+decl is y: unsigned int 
+newExpr is Variable Expression: y: unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: x: short signed int 
+
+      Variable Expression: y: unsigned int 
+
+(types:
+    lvalue short signed int 
+    lvalue unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: x: short signed int 
+
+          Variable Expression: y: unsigned int 
+
+(types:
+    pointer to short signed int 
+    pointer to unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: x: short signed int 
+
+          Variable Expression: y: unsigned int 
+
+(types:
+    pointer to short signed int 
+    pointer to unsigned int 
+)
+Environment: 
+
+nameExpr is w
+decl is w: signed int 
+newExpr is Variable Expression: w: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 23 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 23 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: w: signed int 
+
+  constant expression 23 signed int 
+(types:
+    lvalue signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: w: signed int 
+
+  constant expression 23 signed int 
+(types:
+    lvalue signed int 
+    signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: x: short signed int 
+(types:
+    pointer to short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: x: short signed int 
+(types:
+    pointer to short signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: w: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to short signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to short signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is x
+decl is x: short signed int 
+newExpr is Variable Expression: x: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+nameExpr is y
+decl is y: unsigned int 
+newExpr is Variable Expression: y: unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+nameExpr is z
+decl is z: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: x: short signed int 
+
+      Variable Expression: y: unsigned int 
+
+      Variable Expression: z: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue short signed int 
+    lvalue unsigned int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: x: short signed int 
+
+          Variable Expression: y: unsigned int 
+
+          Variable Expression: z: tuple of types
+          signed int 
+          signed int 
+
+
+(types:
+    pointer to short signed int 
+    pointer to unsigned int 
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: x: short signed int 
+
+          Variable Expression: y: unsigned int 
+
+          Variable Expression: z: tuple of types
+          signed int 
+          signed int 
+
+
+(types:
+    pointer to short signed int 
+    pointer to unsigned int 
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is p
+decl is p: short signed int 
+newExpr is Variable Expression: p: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+nameExpr is f
+decl is f: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is x
+decl is x: short signed int 
+newExpr is Variable Expression: x: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+nameExpr is y
+decl is y: unsigned int 
+newExpr is Variable Expression: y: unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+nameExpr is z
+decl is z: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: x: short signed int 
+
+      Variable Expression: y: unsigned int 
+
+      Variable Expression: z: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue short signed int 
+    lvalue unsigned int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: x: short signed int 
+
+          Variable Expression: y: unsigned int 
+
+          Variable Expression: z: tuple of types
+          signed int 
+          signed int 
+
+
+(types:
+    pointer to short signed int 
+    pointer to unsigned int 
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: x: short signed int 
+
+          Variable Expression: y: unsigned int 
+
+          Variable Expression: z: tuple of types
+          signed int 
+          signed int 
+
+
+(types:
+    pointer to short signed int 
+    pointer to unsigned int 
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is p
+decl is p: short signed int 
+newExpr is Variable Expression: p: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: p: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+nameExpr is f
+decl is f: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 17 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is r
+decl is r: tuple of types
+  signed int 
+  char 
+  long signed int 
+  signed int 
+
+newExpr is Variable Expression: r: tuple of types
+    signed int 
+    char 
+    long signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: r: tuple of types
+    signed int 
+    char 
+    long signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue char 
+    lvalue long signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: r: tuple of types
+      signed int 
+      char 
+      long signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to char 
+    pointer to long signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: r: tuple of types
+      signed int 
+      char 
+      long signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to char 
+    pointer to long signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is x
+decl is x: short signed int 
+newExpr is Variable Expression: x: short signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: x: short signed int 
+(types:
+    lvalue short signed int 
+)
+Environment: 
+
+nameExpr is y
+decl is y: unsigned int 
+newExpr is Variable Expression: y: unsigned int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: y: unsigned int 
+(types:
+    lvalue unsigned int 
+)
+Environment: 
+
+nameExpr is z
+decl is z: tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: z: tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: x: short signed int 
+
+      Variable Expression: y: unsigned int 
+
+      Variable Expression: z: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue short signed int 
+    lvalue unsigned int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: x: short signed int 
+
+      Variable Expression: y: unsigned int 
+
+      Variable Expression: z: tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    lvalue short signed int 
+    lvalue unsigned int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is 1
+nameExpr is f
+decl is f: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Tuple:
+          constant expression 3 signed int 
+          constant expression 5 signed int 
+--- results are
+        signed int 
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Tuple:
+            constant expression 3 signed int 
+            constant expression 5 signed int 
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Tuple:
+      constant expression 3 signed int 
+      constant expression 5 signed int 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: f: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Tuple:
+        constant expression 3 signed int 
+        constant expression 5 signed int 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+formal type is signed int 
+actual type is signed int 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Tuple:
+          constant expression 3 signed int 
+          constant expression 5 signed int 
+--- results are
+        signed int 
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+constant expression 3 signed int --- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Tuple:
+            constant expression 3 signed int 
+            constant expression 5 signed int 
+
+        constant expression 3 signed int 
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Tuple:
+      constant expression 3 signed int 
+      constant expression 5 signed int 
+
+  constant expression 3 signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Tuple:
+        constant expression 3 signed int 
+        constant expression 5 signed int 
+
+    constant expression 3 signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is f
+decl is f: function
+  with parameters
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: f: function
+    with parameters
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: f: function
+            with parameters
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: t1: const volatile tuple of types
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: t1: const volatile tuple of types
+              signed int 
+              signed int 
+
+
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: f: function
+      with parameters
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: t1: const volatile tuple of types
+        signed int 
+        signed int 
+
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: f: function
+        with parameters
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: t1: const volatile tuple of types
+          signed int 
+          signed int 
+
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is g
+decl is g: function
+  with parameters
+    signed int 
+    signed int 
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: g: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: g: function
+    with parameters
+      signed int 
+      signed int 
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: g: function
+            with parameters
+              signed int 
+              signed int 
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                  signed int 
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is lvalue signed int 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+        Variable Expression: t1: const volatile tuple of types
+            signed int 
+            signed int 
+
+--- results are
+        lvalue signed int 
+        lvalue signed int 
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+
+converting lvalue signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+actual expression:
+constant expression 3 signed int --- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+        signed int 
+        signed int 
+actuals are:
+                  Variable Expression: t1: const volatile tuple of types
+              signed int 
+              signed int 
+
+
+        constant expression 3 signed int 
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: g: function
+      with parameters
+        signed int 
+        signed int 
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+      Variable Expression: t1: const volatile tuple of types
+        signed int 
+        signed int 
+
+
+  constant expression 3 signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: g: function
+        with parameters
+          signed int 
+          signed int 
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+          Variable Expression: t1: const volatile tuple of types
+          signed int 
+          signed int 
+
+
+    constant expression 3 signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Tuple:
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+  Tuple:
+    constant expression 3 signed int 
+    constant expression 5 signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: a: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: a: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4.6 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 4.6 double (types:
+    double 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 4.6 double 
+(types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 4.6 double 
+(types:
+    double 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is c
+decl is c: signed int 
+newExpr is Variable Expression: c: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is d
+decl is d: signed int 
+newExpr is Variable Expression: d: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: c: signed int 
+
+          Variable Expression: d: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: c: signed int 
+
+          Variable Expression: d: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 5 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: c: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: c: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is c
+decl is c: signed int 
+newExpr is Variable Expression: c: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+      Tuple:
+              Variable Expression: c: signed int 
+
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+          Tuple:
+                  Variable Expression: c: signed int 
+
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+          Tuple:
+                  Variable Expression: c: signed int 
+
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 2 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 2 signed int 
+      Tuple:
+              Variable Expression: a: signed int 
+
+              Variable Expression: b: signed int 
+
+
+(types:
+    signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 2 signed int 
+      Tuple:
+              Variable Expression: a: signed int 
+
+              Variable Expression: b: signed int 
+
+
+(types:
+    signed int 
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?!=?
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t2
+decl is t2: static const tuple of types
+  signed int 
+  const signed int 
+
+newExpr is Variable Expression: t2: static const tuple of types
+    signed int 
+    const signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t2: static const tuple of types
+    signed int 
+    const signed int 
+
+(types:
+    lvalue signed int 
+    const lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t2: static const tuple of types
+      signed int 
+      const signed int 
+
+(types:
+    pointer to signed int 
+    pointer to const signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t2: static const tuple of types
+      signed int 
+      const signed int 
+
+(types:
+    pointer to signed int 
+    pointer to const signed int 
+)
+Environment: 
+
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is c
+decl is c: signed int 
+newExpr is Variable Expression: c: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is d
+decl is d: signed int 
+newExpr is Variable Expression: d: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: c: signed int 
+
+          Variable Expression: d: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: c: signed int 
+
+          Variable Expression: d: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?+=?
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is c
+decl is c: signed int 
+newExpr is Variable Expression: c: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is d
+decl is d: signed int 
+newExpr is Variable Expression: d: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: c: signed int 
+
+          Variable Expression: d: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: c: signed int 
+
+          Variable Expression: d: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is c
+decl is c: signed int 
+newExpr is Variable Expression: c: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is d
+decl is d: signed int 
+newExpr is Variable Expression: d: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t2
+decl is t2: static const tuple of types
+  signed int 
+  const signed int 
+
+newExpr is Variable Expression: t2: static const tuple of types
+    signed int 
+    const signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t2: static const tuple of types
+    signed int 
+    const signed int 
+
+(types:
+    lvalue signed int 
+    const lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t2: static const tuple of types
+      signed int 
+      const signed int 
+
+(types:
+    pointer to signed int 
+    pointer to const signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t2: static const tuple of types
+      signed int 
+      const signed int 
+
+(types:
+    pointer to signed int 
+    pointer to const signed int 
+)
+Environment: 
+
+nameExpr is c
+decl is c: signed int 
+newExpr is Variable Expression: c: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: c: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is d
+decl is d: signed int 
+newExpr is Variable Expression: d: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: d: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: c: signed int 
+
+      Variable Expression: d: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to signed int 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is t1
+decl is t1: const volatile tuple of types
+  signed int 
+  signed int 
+
+newExpr is Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: t1: const volatile tuple of types
+    signed int 
+    signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: t1: const volatile tuple of types
+      signed int 
+      signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 3 signed int 
+  constant expression 4 signed int 
+(types:
+    signed int 
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is s
+decl is s: instance of struct outer 
+newExpr is Variable Expression: s: instance of struct outer 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
+(types:
+    lvalue instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: s: instance of struct outer 
+(types:
+    pointer to instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: s: instance of struct outer 
+(types:
+    pointer to instance of struct outer 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 11 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 11 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 12 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 12 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 13 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 13 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3.14159 double (types:
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3.14159 double (types:
+    double 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 11 signed int 
+  constant expression 12 signed int 
+  constant expression 13 signed int 
+  constant expression 3.14159 double 
+(types:
+    signed int 
+    signed int 
+    signed int 
+    double 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Tuple:
+  constant expression 11 signed int 
+  constant expression 12 signed int 
+  constant expression 13 signed int 
+  constant expression 3.14159 double 
+(types:
+    signed int 
+    signed int 
+    signed int 
+    double 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to instance of struct outer 
+formal type is instance of struct outer 
+actual type is signed int 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to instance of struct outer 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is s
+decl is s: instance of struct outer 
+newExpr is Variable Expression: s: instance of struct outer 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
+(types:
+    lvalue instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: s: instance of struct outer 
+(types:
+    pointer to instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: s: instance of struct outer 
+(types:
+    pointer to instance of struct outer 
+)
+Environment: 
+
+nameExpr is h
+decl is h: static function
+  with parameters
+    a: signed int 
+    b: signed int 
+    c: pointer to signed int 
+    d: pointer to char 
+  returning 
+    signed int 
+    pointer to signed int 
+    pointer to signed int 
+    signed int 
+
+newExpr is Variable Expression: h: static function
+    with parameters
+      a: signed int 
+      b: signed int 
+      c: pointer to signed int 
+      d: pointer to char 
+    returning 
+      signed int 
+      pointer to signed int 
+      pointer to signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: h: static function
+    with parameters
+      a: signed int 
+      b: signed int 
+      c: pointer to signed int 
+      d: pointer to char 
+    returning 
+      signed int 
+      pointer to signed int 
+      pointer to signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          a: signed int 
+          b: signed int 
+          c: pointer to signed int 
+          d: pointer to char 
+        returning 
+          signed int 
+          pointer to signed int 
+          pointer to signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is 0
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is a
+decl is a: signed int 
+newExpr is Variable Expression: a: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: a: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+nameExpr is b
+decl is b: signed int 
+newExpr is Variable Expression: b: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: b: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Tuple:
+      Variable Expression: a: signed int 
+
+      Variable Expression: b: signed int 
+
+(types:
+    lvalue signed int 
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Tuple:
+          Variable Expression: a: signed int 
+
+          Variable Expression: b: signed int 
+
+(types:
+    pointer to signed int 
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is h
+decl is h: static function
+  with parameters
+    a: signed int 
+    b: signed int 
+    c: pointer to signed int 
+    d: pointer to char 
+  returning 
+    signed int 
+    pointer to signed int 
+    pointer to signed int 
+    signed int 
+
+newExpr is Variable Expression: h: static function
+    with parameters
+      a: signed int 
+      b: signed int 
+      c: pointer to signed int 
+      d: pointer to char 
+    returning 
+      signed int 
+      pointer to signed int 
+      pointer to signed int 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: h: static function
+    with parameters
+      a: signed int 
+      b: signed int 
+      c: pointer to signed int 
+      d: pointer to char 
+    returning 
+      signed int 
+      pointer to signed int 
+      pointer to signed int 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          a: signed int 
+          b: signed int 
+          c: pointer to signed int 
+          d: pointer to char 
+        returning 
+          signed int 
+          pointer to signed int 
+          pointer to signed int 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+nameExpr is 0
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is sp
+decl is sp: pointer to instance of struct outer 
+newExpr is Variable Expression: sp: pointer to instance of struct outer 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: sp: pointer to instance of struct outer 
+(types:
+    lvalue pointer to instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: sp: pointer to instance of struct outer 
+(types:
+    pointer to pointer to instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: sp: pointer to instance of struct outer 
+(types:
+    pointer to pointer to instance of struct outer 
+)
+Environment: 
+
+nameExpr is sp
+decl is sp: pointer to instance of struct outer 
+newExpr is Variable Expression: sp: pointer to instance of struct outer 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: sp: pointer to instance of struct outer 
+(types:
+    lvalue pointer to instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: sp: pointer to instance of struct outer 
+(types:
+    lvalue pointer to instance of struct outer 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct outer 
+              _src: instance of struct outer 
+            returning 
+              instance of struct outer 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct outer 
+                  _src: instance of struct outer 
+                returning 
+                  instance of struct outer 
+
+)
+        Environment: 
+formal type is pointer to instance of struct outer 
+actual type is pointer to pointer to instance of struct outer 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct inner 
+              _src: instance of struct inner 
+            returning 
+              instance of struct inner 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+)
+        Environment: 
+formal type is pointer to instance of struct inner 
+actual type is pointer to pointer to instance of struct outer 
+nameExpr is printf
+decl is printf: function
+  with parameters
+    fmt: pointer to char 
+    and a variable number of other arguments
+  returning 
+    rc: signed int 
+
+newExpr is Variable Expression: printf: function
+    with parameters
+      fmt: pointer to char 
+      and a variable number of other arguments
+    returning 
+      rc: signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: printf: function
+    with parameters
+      fmt: pointer to char 
+      and a variable number of other arguments
+    returning 
+      rc: signed int 
+
+(types:
+    pointer to function
+        with parameters
+          fmt: pointer to char 
+          and a variable number of other arguments
+        returning 
+          rc: signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int (types:
+    pointer to char 
+)
+Environment: 
+
+nameExpr is s
+decl is s: instance of struct outer 
+newExpr is Variable Expression: s: instance of struct outer 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
+(types:
+    lvalue instance of struct outer 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Variable Expression: s: instance of struct outer 
+(types:
+    lvalue instance of struct outer 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: printf: function
+            with parameters
+              fmt: pointer to char 
+              and a variable number of other arguments
+            returning 
+              rc: signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  fmt: pointer to char 
+                  and a variable number of other arguments
+                returning 
+                  rc: signed int 
+
+)
+        Environment: 
+formal type is pointer to char 
+actual type is pointer to char 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int --- results are
+        pointer to char 
+
+converting pointer to char 
+ to pointer to char 
+cost is( 0, 0, 0 )
+actual expression:
+        Variable Expression: s: instance of struct outer 
+--- results are
+        lvalue instance of struct outer 
+Case +++++++++++++
+formals are:
+        fmt: pointer to char 
+actuals are:
+        constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int 
+                  Variable Expression: s: instance of struct outer 
+
+bindings are:
+cost of conversion is:( 1, 0, 0 )
+alternatives before prune:
+Cost ( 1, 0, 0 ): Application of
+  Variable Expression: printf: function
+      with parameters
+        fmt: pointer to char 
+        and a variable number of other arguments
+      returning 
+        rc: signed int 
+
+to arguments
+  constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int 
+      Variable Expression: s: instance of struct outer 
+
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: printf: function
+        with parameters
+          fmt: pointer to char 
+          and a variable number of other arguments
+        returning 
+          rc: signed int 
+
+  to arguments
+    constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int 
+          Variable Expression: s: instance of struct outer 
+
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct inner 
+    _src: instance of struct inner 
+  returning 
+    instance of struct inner 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f2: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f2: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f3: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct inner 
+              Member Expression, with field: 
+                f3: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct inner 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct inner 
+
+to:
+  instance of struct inner 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct outer 
+    _src: instance of struct outer 
+  returning 
+    instance of struct outer 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f1: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f1: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Expression Statement:
+          Application of
+            Variable Expression: ?=?: inline static function
+                with parameters
+                  _dst: pointer to instance of struct inner 
+                  _src: instance of struct inner 
+                returning 
+                  instance of struct inner 
+
+          to arguments
+                          Address of:
+                Member Expression, with field: 
+                  i: instance of struct inner 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+
+                          Member Expression, with field: 
+                i: instance of struct inner 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+          with environment:
+            Types:
+            Non-types:
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  f4: double 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct outer 
+              Member Expression, with field: 
+                f4: double 
+              from aggregate: 
+                Variable Expression: _src: instance of struct outer 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct outer 
+
+to:
+  instance of struct outer 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct inner 
+      _src: instance of struct inner 
+    returning 
+      instance of struct inner 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct inner 
+          _src: instance of struct inner 
+        returning 
+          instance of struct inner 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct outer 
+      _src: instance of struct outer 
+    returning 
+      instance of struct outer 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct outer 
+          _src: instance of struct outer 
+        returning 
+          instance of struct outer 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+nameExpr is rc
+decl is rc: signed int 
+newExpr is Variable Expression: rc: signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: rc: signed int 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: rc: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Variable Expression: rc: signed int 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+nameExpr is 0
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f2: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct inner 
+    Member Expression, with field: 
+      f2: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct inner 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f3: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct inner 
+    Member Expression, with field: 
+      f3: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct inner 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f1: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct outer 
+    Member Expression, with field: 
+      f1: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct outer 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        f4: double 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct outer 
+    Member Expression, with field: 
+      f4: double 
+    from aggregate: 
+      Variable Expression: _src: instance of struct outer 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Variable Expression: x: short signed int 
+    Variable Expression: w: signed int 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f
+...to: 
+constant expression 17 signed int 
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: f
+...to: 
+constant expression 17 signed int 
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: r
+    Tuple:
+              Name: x
+
+              Name: y
+
+              Name: z
+
+
+Error: No reasonable alternatives for expression Name: 1
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Variable Expression: a: signed int 
+constant expression 3 signed int 
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Tuple:
+                  Name: a
+
+                  Name: b
+
+    Tuple:
+      constant expression 4.6 double 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Variable Expression: c: signed int 
+constant expression 3 signed int 
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Tuple:
+                  Name: a
+
+                  Name: b
+
+                  Tuple:
+                          Name: c
+
+
+    Tuple:
+      constant expression 2 signed int 
+              Tuple:
+                      Name: a
+
+                      Name: b
+
+
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: t1
+    Tuple:
+              Name: a
+
+              Name: b
+
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: t2
+    Tuple:
+              Name: a
+
+              Name: b
+
+
+Error: No reasonable alternatives for expression Name: ?+=?
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Tuple:
+                  Name: c
+
+                  Name: d
+
+    Name: t1
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: t1
+    Tuple:
+              Name: c
+
+              Name: d
+
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: t2
+    Tuple:
+              Name: c
+
+              Name: d
+
+
+Error: No reasonable alternatives for expression Address of:
+  Tuple:
+    constant expression 3 signed int 
+    constant expression 4 signed int 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: s
+    Tuple:
+      constant expression 11 signed int 
+      constant expression 12 signed int 
+      constant expression 13 signed int 
+      constant expression 3.14159 double 
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Name: sp
+    Name: sp
+
+Error: No reasonable alternatives for expression Name: 0
+
Index: src/Tests/Expect-r/TypeGenerator.txt
===================================================================
--- src/Tests/Expect-r/TypeGenerator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/TypeGenerator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3714 @@
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  data: instance of type T (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    data: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    data: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  data: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  data: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  next: pointer to instance of type List1 (not function type) 
+  with parameters
+    instance of type T (not function type) 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue pointer to instance of type List1 (not function type) 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    next: pointer to instance of type List1 (not function type) 
+    with parameters
+      instance of type T (not function type) 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to pointer to instance of type List1 (not function type) 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    next: pointer to instance of type List1 (not function type) 
+    with parameters
+      instance of type T (not function type) 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to pointer to instance of type List1 (not function type) 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  next: pointer to instance of type List1 (not function type) 
+  with parameters
+    instance of type T (not function type) 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue pointer to instance of type List1 (not function type) 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  next: pointer to instance of type List1 (not function type) 
+  with parameters
+    instance of type T (not function type) 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue pointer to instance of type List1 (not function type) 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to pointer to instance of type List1 (not function type) 
+with parameters
+  instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 2 alternatives before elimination
+there are 2 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+(types:
+    lvalue pointer to instance of type List1 (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S1 
+    _src: instance of struct S1 
+  returning 
+    instance of struct S1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S1 
+          _src: instance of struct S1 
+        returning 
+          instance of struct S1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 3 alternatives before elimination
+there are 3 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S1 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S1 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S1 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct S1 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct S1 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type List1 (not function type) 
+              _src: instance of type List1 (not function type) 
+            returning 
+              instance of type List1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type List1 (not function type) 
+                  _src: instance of type List1 (not function type) 
+                returning 
+                  instance of type List1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type List1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S1 
+              _src: instance of struct S1 
+            returning 
+              instance of struct S1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S1 
+                  _src: instance of struct S1 
+                returning 
+                  instance of struct S1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S1 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S1 
+(types:
+    lvalue instance of struct S1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct S1 
+
+to:
+  instance of struct S1 
+(types:
+    instance of struct S1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S1 
+    _src: instance of struct S1 
+  returning 
+    instance of struct S1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S1 
+
+to:
+  instance of struct S1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S2 
+    _src: instance of struct S2 
+  returning 
+    instance of struct S2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S2 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S2 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct S2 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S1 
+          _src: instance of struct S1 
+        returning 
+          instance of struct S1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S2 
+          _src: instance of struct S2 
+        returning 
+          instance of struct S2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 4 alternatives before elimination
+there are 4 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct S2 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S2 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct S2 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct S2 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct S2 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type List1 (not function type) 
+              _src: instance of type List1 (not function type) 
+            returning 
+              instance of type List1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type List1 (not function type) 
+                  _src: instance of type List1 (not function type) 
+                returning 
+                  instance of type List1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type List1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S2 
+              _src: instance of struct S2 
+            returning 
+              instance of struct S2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S2 
+                  _src: instance of struct S2 
+                returning 
+                  instance of struct S2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S2 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S1 
+              _src: instance of struct S1 
+            returning 
+              instance of struct S1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S1 
+                  _src: instance of struct S1 
+                returning 
+                  instance of struct S1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S1 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct S2 
+(types:
+    lvalue instance of struct S2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct S2 
+
+to:
+  instance of struct S2 
+(types:
+    instance of struct S2 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous1 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S1 
+    _src: instance of struct S1 
+  returning 
+    instance of struct S1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S1 
+
+to:
+  instance of struct S1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S2 
+    _src: instance of struct S2 
+  returning 
+    instance of struct S2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S2 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S2 
+
+to:
+  instance of struct S2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S1 
+          _src: instance of struct S1 
+        returning 
+          instance of struct S1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S2 
+          _src: instance of struct S2 
+        returning 
+          instance of struct S2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 5 alternatives before elimination
+there are 5 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    i: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous1 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  i: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type List1 (not function type) 
+              _src: instance of type List1 (not function type) 
+            returning 
+              instance of type List1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type List1 (not function type) 
+                  _src: instance of type List1 (not function type) 
+                returning 
+                  instance of type List1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type List1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S2 
+              _src: instance of struct S2 
+            returning 
+              instance of struct S2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S2 
+                  _src: instance of struct S2 
+                returning 
+                  instance of struct S2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S2 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S1 
+              _src: instance of struct S1 
+            returning 
+              instance of struct S1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S1 
+                  _src: instance of struct S1 
+                returning 
+                  instance of struct S1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S1 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous1 
+(types:
+    lvalue instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+(types:
+    instance of struct __anonymous1 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S1 
+    _src: instance of struct S1 
+  returning 
+    instance of struct S1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S1 
+
+to:
+  instance of struct S1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S2 
+    _src: instance of struct S2 
+  returning 
+    instance of struct S2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S2 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S2 
+
+to:
+  instance of struct S2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct node 
+    _src: instance of struct node 
+  returning 
+    instance of struct node 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct node 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct node 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of struct node 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct node 
+              Member Expression, with field: 
+                next: pointer to instance of struct node 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct node 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct node 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct node 
+      _src: instance of struct node 
+    returning 
+      instance of struct node 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S1 
+          _src: instance of struct S1 
+        returning 
+          instance of struct S1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S2 
+          _src: instance of struct S2 
+        returning 
+          instance of struct S2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct node 
+      _src: instance of struct node 
+    returning 
+      instance of struct node 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct node 
+          _src: instance of struct node 
+        returning 
+          instance of struct node 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  data: instance of type T (not function type) 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct node 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    data: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct node 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    data: instance of type T (not function type) 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct node 
+(types:
+    pointer to instance of type T (not function type) 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  data: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct node 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  data: instance of type T (not function type) 
+from aggregate: 
+  Variable Expression: _src: instance of struct node 
+(types:
+    lvalue instance of type T (not function type) 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type List1 (not function type) 
+              _src: instance of type List1 (not function type) 
+            returning 
+              instance of type List1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type List1 (not function type) 
+                  _src: instance of type List1 (not function type) 
+                returning 
+                  instance of type List1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type List1 (not function type) 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct node 
+              _src: instance of struct node 
+            returning 
+              instance of struct node 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct node 
+                  _src: instance of struct node 
+                returning 
+                  instance of struct node 
+
+)
+        Environment: 
+formal type is pointer to instance of struct node 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S2 
+              _src: instance of struct S2 
+            returning 
+              instance of struct S2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S2 
+                  _src: instance of struct S2 
+                returning 
+                  instance of struct S2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S2 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S1 
+              _src: instance of struct S1 
+            returning 
+              instance of struct S1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S1 
+                  _src: instance of struct S1 
+                returning 
+                  instance of struct S1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S1 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to instance of type T (not function type) 
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to instance of type T (not function type) 
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S1 
+    _src: instance of struct S1 
+  returning 
+    instance of struct S1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S1 
+
+to:
+  instance of struct S1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S2 
+    _src: instance of struct S2 
+  returning 
+    instance of struct S2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S2 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S2 
+
+to:
+  instance of struct S2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct node 
+    _src: instance of struct node 
+  returning 
+    instance of struct node 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct node 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct node 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of struct node 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct node 
+              Member Expression, with field: 
+                next: pointer to instance of struct node 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct node 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct node 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct node 
+      _src: instance of struct node 
+    returning 
+      instance of struct node 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S1 
+          _src: instance of struct S1 
+        returning 
+          instance of struct S1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S2 
+          _src: instance of struct S2 
+        returning 
+          instance of struct S2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct node 
+      _src: instance of struct node 
+    returning 
+      instance of struct node 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct node 
+          _src: instance of struct node 
+        returning 
+          instance of struct node 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 6 alternatives before elimination
+there are 6 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  next: pointer to instance of struct node 
+  with parameters
+    instance of type T (not function type) 
+
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct node 
+(types:
+    lvalue pointer to instance of struct node 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    next: pointer to instance of struct node 
+    with parameters
+      instance of type T (not function type) 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct node 
+(types:
+    pointer to pointer to instance of struct node 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    next: pointer to instance of struct node 
+    with parameters
+      instance of type T (not function type) 
+
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct node 
+(types:
+    pointer to pointer to instance of struct node 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  next: pointer to instance of struct node 
+  with parameters
+    instance of type T (not function type) 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct node 
+(types:
+    lvalue pointer to instance of struct node 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  next: pointer to instance of struct node 
+  with parameters
+    instance of type T (not function type) 
+
+from aggregate: 
+  Variable Expression: _src: instance of struct node 
+(types:
+    lvalue pointer to instance of struct node 
+      with parameters
+        instance of type T (not function type) 
+
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: function
+            with parameters
+              _dst: pointer to instance of type List1 (not function type) 
+              _src: instance of type List1 (not function type) 
+            returning 
+              instance of type List1 (not function type) 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of type List1 (not function type) 
+                  _src: instance of type List1 (not function type) 
+                returning 
+                  instance of type List1 (not function type) 
+
+)
+        Environment: 
+formal type is pointer to instance of type List1 (not function type) 
+actual type is pointer to pointer to instance of struct node 
+with parameters
+  instance of type T (not function type) 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct node 
+              _src: instance of struct node 
+            returning 
+              instance of struct node 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct node 
+                  _src: instance of struct node 
+                returning 
+                  instance of struct node 
+
+)
+        Environment: 
+formal type is pointer to instance of struct node 
+actual type is pointer to pointer to instance of struct node 
+with parameters
+  instance of type T (not function type) 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S2 
+              _src: instance of struct S2 
+            returning 
+              instance of struct S2 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S2 
+                  _src: instance of struct S2 
+                returning 
+                  instance of struct S2 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S2 
+actual type is pointer to pointer to instance of struct node 
+with parameters
+  instance of type T (not function type) 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct S1 
+              _src: instance of struct S1 
+            returning 
+              instance of struct S1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct S1 
+                  _src: instance of struct S1 
+                returning 
+                  instance of struct S1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct S1 
+actual type is pointer to pointer to instance of struct node 
+with parameters
+  instance of type T (not function type) 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous1 
+              _src: instance of struct __anonymous1 
+            returning 
+              instance of struct __anonymous1 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous1 
+                  _src: instance of struct __anonymous1 
+                returning 
+                  instance of struct __anonymous1 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous1 
+actual type is pointer to pointer to instance of struct node 
+with parameters
+  instance of type T (not function type) 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to pointer to instance of struct node 
+with parameters
+  instance of type T (not function type) 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct node 
+(types:
+    lvalue instance of struct node 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct node 
+
+to:
+  instance of struct node 
+(types:
+    instance of struct node 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of type List1 (not function type) 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                next: pointer to instance of type List1 (not function type) 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous1 
+    _src: instance of struct __anonymous1 
+  returning 
+    instance of struct __anonymous1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct __anonymous1 
+
+to:
+  instance of struct __anonymous1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S1 
+    _src: instance of struct S1 
+  returning 
+    instance of struct S1 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S1 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S1 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S1 
+
+to:
+  instance of struct S1 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct S2 
+    _src: instance of struct S2 
+  returning 
+    instance of struct S2 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  i: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct S2 
+              Member Expression, with field: 
+                i: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct S2 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct S2 
+
+to:
+  instance of struct S2 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct node 
+    _src: instance of struct node 
+  returning 
+    instance of struct node 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  data: instance of type T (not function type) 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct node 
+              Member Expression, with field: 
+                data: instance of type T (not function type) 
+              from aggregate: 
+                Variable Expression: _src: instance of struct node 
+
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  next: pointer to instance of struct node 
+                  with parameters
+                    instance of type T (not function type) 
+
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct node 
+              Member Expression, with field: 
+                next: pointer to instance of struct node 
+                with parameters
+                  instance of type T (not function type) 
+
+              from aggregate: 
+                Variable Expression: _src: instance of struct node 
+
+              Return Statement, returning: Cast of:
+  Variable Expression: _src: instance of struct node 
+
+to:
+  instance of struct node 
+with environment:
+  Types:
+  Non-types:
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct node 
+      _src: instance of struct node 
+    returning 
+      instance of struct node 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List (not function type) 
+    _src: instance of type List (not function type) 
+  returning 
+    instance of type List (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List (not function type) 
+
+    to:
+      pointer to pointer to instance of struct node 
+        with parameters
+          instance of type T (not function type) 
+
+    Cast of:
+      Variable Expression: _src: instance of type List (not function type) 
+
+    to:
+      pointer to instance of struct node 
+        with parameters
+          instance of type T (not function type) 
+
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List (not function type) 
+      _src: instance of type List (not function type) 
+    returning 
+      instance of type List (not function type) 
+
+
+decl is ?=?: automatically generated function
+  with parameters
+    _dst: pointer to instance of type List1 (not function type) 
+    _src: instance of type List1 (not function type) 
+  returning 
+    instance of type List1 (not function type) 
+  with body 
+    CompoundStmt
+              Return Statement, returning: Applying untyped: 
+    Name: ?=?
+...to: 
+    Cast of:
+      Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+    to:
+      pointer to pointer to instance of struct __anonymous0 
+    Cast of:
+      Variable Expression: _src: instance of type List1 (not function type) 
+
+    to:
+      pointer to instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous1 
+      _src: instance of struct __anonymous1 
+    returning 
+      instance of struct __anonymous1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous1 
+          _src: instance of struct __anonymous1 
+        returning 
+          instance of struct __anonymous1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S1 
+      _src: instance of struct S1 
+    returning 
+      instance of struct S1 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S1 
+          _src: instance of struct S1 
+        returning 
+          instance of struct S1 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct S2 
+      _src: instance of struct S2 
+    returning 
+      instance of struct S2 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct S2 
+          _src: instance of struct S2 
+        returning 
+          instance of struct S2 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct node 
+      _src: instance of struct node 
+    returning 
+      instance of struct node 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct node 
+          _src: instance of struct node 
+        returning 
+          instance of struct node 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List (not function type) 
+      _src: instance of type List (not function type) 
+    returning 
+      instance of type List (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List (not function type) 
+          _src: instance of type List (not function type) 
+        returning 
+          instance of type List (not function type) 
+
+)
+Environment: 
+
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: function
+    with parameters
+      _dst: pointer to instance of type List1 (not function type) 
+      _src: instance of type List1 (not function type) 
+    returning 
+      instance of type List1 (not function type) 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of type List1 (not function type) 
+          _src: instance of type List1 (not function type) 
+        returning 
+          instance of type List1 (not function type) 
+
+)
+Environment: 
+
+there are 7 alternatives before elimination
+there are 7 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _dst: pointer to instance of type List (not function type) 
+(types:
+    lvalue pointer to instance of type List (not function type) 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is my_list
+decl is my_list: instance of type List (not function type) 
+with parameters
+  signed int 
+
+newExpr is Variable Expression: my_list: instance of type List (not function type) 
+  with parameters
+    signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: my_list: instance of type List (not function type) 
+  with parameters
+    signed int 
+
+(types:
+    lvalue instance of type List (not function type) 
+      with parameters
+        signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        data: instance of type T (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      data: instance of type T (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        next: pointer to instance of type List1 (not function type) 
+        with parameters
+          instance of type T (not function type) 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      next: pointer to instance of type List1 (not function type) 
+      with parameters
+        instance of type T (not function type) 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type List1 (not function type) 
+
+to:
+  pointer to pointer to instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: instance of type T (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S1 
+    Member Expression, with field: 
+      i: instance of type T (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S1 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: instance of type T (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct S2 
+    Member Expression, with field: 
+      i: instance of type T (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct S2 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        i: instance of type T (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous1 
+    Member Expression, with field: 
+      i: instance of type T (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous1 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        data: instance of type T (not function type) 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct node 
+    Member Expression, with field: 
+      data: instance of type T (not function type) 
+    from aggregate: 
+      Variable Expression: _src: instance of struct node 
+
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        next: pointer to instance of struct node 
+        with parameters
+          instance of type T (not function type) 
+
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct node 
+    Member Expression, with field: 
+      next: pointer to instance of struct node 
+      with parameters
+        instance of type T (not function type) 
+
+    from aggregate: 
+      Variable Expression: _src: instance of struct node 
+
+Error: No reasonable alternatives for expression Cast of:
+  Variable Expression: _dst: pointer to instance of type List (not function type) 
+
+to:
+  pointer to pointer to instance of struct node 
+    with parameters
+      instance of type T (not function type) 
+
+
+Error: No reasonable alternatives for expression Cast of:
+  Name: my_list
+
+to:
+  instance of struct node 
+    with parameters
+      signed int 
+
+
Index: src/Tests/Expect-r/Typedef.txt
===================================================================
--- src/Tests/Expect-r/Typedef.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Typedef.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,424 @@
+nameExpr is T
+decl is T: function
+  with parameters
+    signed int 
+  returning 
+    signed int 
+
+newExpr is Variable Expression: T: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: T: function
+    with parameters
+      signed int 
+    returning 
+      signed int 
+
+(types:
+    pointer to function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: T: function
+            with parameters
+              signed int 
+            returning 
+              signed int 
+
+(types:
+            pointer to function
+                with parameters
+                  signed int 
+                returning 
+                  signed int 
+
+)
+        Environment: 
+formal type is signed int 
+actual type is signed int 
+need assertions:
+============= original indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+============= new indexer
+===idTable===
+===typeTable===
+===structTable===
+===enumTable===
+===unionTable===
+===contextTable===
+actual expression:
+constant expression 3 signed int --- results are
+        signed int 
+
+converting signed int 
+ to signed int 
+cost is( 0, 0, 0 )
+Case +++++++++++++
+formals are:
+        signed int 
+actuals are:
+        constant expression 3 signed int 
+bindings are:
+cost of conversion is:( 0, 0, 0 )
+alternatives before prune:
+Cost ( 0, 0, 0 ): Application of
+  Variable Expression: T: function
+      with parameters
+        signed int 
+      returning 
+        signed int 
+
+to arguments
+  constant expression 3 signed int 
+(types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Application of
+    Variable Expression: T: function
+        with parameters
+          signed int 
+        returning 
+          signed int 
+
+  to arguments
+    constant expression 3 signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is ?=?
+decl is ?=?: automatically generated inline static function
+  with parameters
+    _dst: pointer to instance of struct __anonymous0 
+    _src: instance of struct __anonymous0 
+  returning 
+    instance of struct __anonymous0 
+  with body 
+    CompoundStmt
+              Expression Statement:
+          Applying untyped: 
+              Name: ?=?
+          ...to: 
+              Address of:
+                Member Expression, with field: 
+                  T: signed int 
+                from aggregate: 
+                  Applying untyped: 
+                      Name: *?
+                  ...to: 
+                      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+              Member Expression, with field: 
+                T: signed int 
+              from aggregate: 
+                Variable Expression: _src: instance of struct __anonymous0 
+
+              Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 
+
+
+
+newExpr is Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline static function
+    with parameters
+      _dst: pointer to instance of struct __anonymous0 
+      _src: instance of struct __anonymous0 
+    returning 
+      instance of struct __anonymous0 
+
+(types:
+    pointer to function
+        with parameters
+          _dst: pointer to instance of struct __anonymous0 
+          _src: instance of struct __anonymous0 
+        returning 
+          instance of struct __anonymous0 
+
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Applying untyped: 
+      Name: *?
+  ...to: 
+      Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    T: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Address of:
+  Member Expression, with field: 
+    T: signed int 
+  from aggregate: 
+    Applying untyped: 
+        Name: *?
+    ...to: 
+        Variable Expression: _dst: pointer to instance of struct __anonymous0 
+(types:
+    pointer to signed int 
+)
+Environment: 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+findSubExprs
+Cost ( 0, 0, 0 ): Member Expression, with field: 
+  T: signed int 
+from aggregate: 
+  Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue signed int 
+)
+Environment: 
+
+working on alternative: 
+        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline static function
+            with parameters
+              _dst: pointer to instance of struct __anonymous0 
+              _src: instance of struct __anonymous0 
+            returning 
+              instance of struct __anonymous0 
+
+(types:
+            pointer to function
+                with parameters
+                  _dst: pointer to instance of struct __anonymous0 
+                  _src: instance of struct __anonymous0 
+                returning 
+                  instance of struct __anonymous0 
+
+)
+        Environment: 
+formal type is pointer to instance of struct __anonymous0 
+actual type is pointer to signed int 
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct __anonymous0 
+(types:
+    lvalue instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): Cast of:
+  Variable Expression: _src: instance of struct __anonymous0 
+
+to:
+  instance of struct __anonymous0 
+(types:
+    instance of struct __anonymous0 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+constant expression 3 signed int 
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Applying untyped: 
+    Name: ?=?
+...to: 
+    Address of:
+      Member Expression, with field: 
+        T: signed int 
+      from aggregate: 
+        Applying untyped: 
+            Name: *?
+        ...to: 
+            Variable Expression: _dst: pointer to instance of struct __anonymous0 
+    Member Expression, with field: 
+      T: signed int 
+    from aggregate: 
+      Variable Expression: _src: instance of struct __anonymous0 
+
+Error: No reasonable alternatives for expression Cast of:
+constant expression 3 signed int 
+to:
+  instance of struct __anonymous0 
+
Index: src/Tests/Expect-r/TypedefDeclarator.txt
===================================================================
--- src/Tests/Expect-r/TypedefDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/TypedefDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,583 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int main(){
+    int __f1__i;
+    int __f2__i;
+    int *__f3__Pi;
+    int **__f4__PPi;
+    int *const *__f5__PCPi;
+    int *const *const __f6__CPCPi;
+    int *__f7__Pi;
+    int **__f8__PPi;
+    int *const *__f9__PCPi;
+    int *const *const __f10__CPCPi;
+    int *__f11__Pi;
+    int **__f12__PPi;
+    int *const *__f13__PCPi;
+    int *const *const __f14__CPCPi;
+    int __f15__A0i[];
+    int __f16__A0i[((long unsigned int )10)];
+    int __f17__A0i[];
+    int __f18__A0i[((long unsigned int )10)];
+    int *__f19__A0Pi[];
+    int *__f20__A0Pi[((long unsigned int )10)];
+    int **__f21__A0PPi[];
+    int **__f22__A0PPi[((long unsigned int )10)];
+    int *const *__f23__A0PCPi[];
+    int *const *__f24__A0PCPi[((long unsigned int )10)];
+    int *const *const __f25__A0CPCPi[];
+    int *const *const __f26__A0CPCPi[((long unsigned int )10)];
+    int *__f27__A0Pi[];
+    int *__f28__A0Pi[((long unsigned int )10)];
+    int **__f29__A0PPi[];
+    int **__f30__A0PPi[((long unsigned int )10)];
+    int *const *__f31__A0PCPi[];
+    int *const *__f32__A0PCPi[((long unsigned int )10)];
+    int *const *const __f33__A0CPCPi[];
+    int *const *const __f34__A0CPCPi[((long unsigned int )10)];
+    int *__f35__A0Pi[];
+    int *__f36__A0Pi[((long unsigned int )10)];
+    int **__f37__A0PPi[];
+    int **__f38__A0PPi[((long unsigned int )10)];
+    int *const *__f39__A0PCPi[];
+    int *const *__f40__A0PCPi[((long unsigned int )10)];
+    int *const *const __f41__A0CPCPi[];
+    int *const *const __f42__A0CPCPi[((long unsigned int )10)];
+    int __f43__A0A0i[][3];
+    int __f44__A0A0i[((long unsigned int )3)][3];
+    int __f45__A0A0i[][3];
+    int __f46__A0A0i[((long unsigned int )3)][3];
+    int __f47__A0A0i[][3];
+    int __f48__A0A0i[((long unsigned int )3)][3];
+    int *__f49__A0A0Pi[][3];
+    int *__f50__A0A0Pi[((long unsigned int )3)][3];
+    int **__f51__A0A0PPi[][3];
+    int **__f52__A0A0PPi[((long unsigned int )3)][3];
+    int *const *__f53__A0A0PCPi[][3];
+    int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
+    int *const *const __f55__A0A0CPCPi[][3];
+    int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
+    int *__f57__A0A0Pi[][3];
+    int *__f58__A0A0Pi[((long unsigned int )3)][3];
+    int **__f59__A0A0PPi[][3];
+    int **__f60__A0A0PPi[((long unsigned int )3)][3];
+    int *const *__f61__A0A0PCPi[][3];
+    int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
+    int *const *const __f63__A0A0CPCPi[][3];
+    int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
+    int __f65__Fi_i_(int );
+    int __f66__Fi_i_(int );
+    int *__f67__FPi_i_(int );
+    int **__f68__FPPi_i_(int );
+    int *const *__f69__FPCPi_i_(int );
+    int *const *const __f70__FCPCPi_i_(int );
+    int *__f71__FPi_i_(int );
+    int **__f72__FPPi_i_(int );
+    int *const *__f73__FPCPi_i_(int );
+    int *const *const __f74__FCPCPi_i_(int );
+    int (*__f75__PFi_i_)(int );
+    int (**__f76__PPFi_i_)(int );
+    int (*const *__f77__PCPFi_i_)(int );
+    int (*const *const __f78__CPCPFi_i_)(int );
+    int (*(*__f79__PFPFi___i_)(int ))();
+    int (*(*const __f80__CPFPFi___i_)(int ))();
+    int (*const (*const __f81__CPFCPFi___i_)(int ))();
+}
Index: src/Tests/Expect-r/TypedefParamDeclarator.txt
===================================================================
--- src/Tests/Expect-r/TypedefParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/TypedefParamDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,2 @@
+int __fred__Fi_iPiPPiPCPiCPCPiPiPPiPCPiCPCPiPiPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPPiPPiPPPiPPPiPPCPiPPCPiPCPCPiPCPCPiPA0iPA0iPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPA0PiPA0PiPA0PPiPA0PPiPA0PCPiPA0PCPiPA0CPCPiPA0CPCPiPFi_i_PFPi_i_PFPPi_i_PFPCPi_i_PFCPCPi_i_PFi_i_PPFi_i_PCPFi_i_CPCPFi_i_PFPFi___i_CPFPFi___i_CPFCPFi___i_CPiCPiPiCPiPFi_CPi_PFi_CPi_PFi_Pi_PFi_CPi_CPPiCPPiPPPiCPPCPiCPCPCPiPFPi_CPi_PFPi_CPi_PFPPi_Pi_PFPCPi_CPi_PFCPCPi_CPi_CPA0iCPA0iPA0iCPA0iPFi_CPA0i_PFi_CPA0i_PFi_PA0i_PFi_CPA0i_CPA0PiCPA0PiPA0PPiCPA0PCPiCPA0CPCPiPFPi_CPA0i_PFPi_CPA0i_PFPPi_PA0i_PFPCPi_CPA0i_PFCPCPi_CPA0i__(int __f1__i, int *__f3__Pi, int **__f4__PPi, int *const *__f5__PCPi, int *const *const __f6__CPCPi, int *__f11__Pi, int **__f12__PPi, int *const *__f13__PCPi, int *const *const __f14__CPCPi, int *__f15__Pi, int __f16__Pi[10], int **__f19__PPi, int *__f20__PPi[10], int ***__f21__PPPi, int **__f22__PPPi[10], int *const **__f23__PPCPi, int *const *__f24__PPCPi[10], int *const *const *__f25__PCPCPi, int *const *const __f26__PCPCPi[10], int **__f35__PPi, int *__f36__PPi[10], int ***__f37__PPPi, int **__f38__PPPi[10], int *const **__f39__PPCPi, int *const *__f40__PPCPi[10], int *const *const *__f41__PCPCPi, int *const *const __f42__PCPCPi[10], int (*__f43__PA0i)[3], int __f44__PA0i[3][3], int *(*__f49__PA0Pi)[3], int *__f50__PA0Pi[3][3], int **(*__f51__PA0PPi)[3], int **__f52__PA0PPi[3][3], int *const *(*__f53__PA0PCPi)[3], int *const *__f54__PA0PCPi[3][3], int *const *const (*__f55__PA0CPCPi)[3], int *const *const __f56__PA0CPCPi[3][3], int *(*__f57__PA0Pi)[3], int *__f58__PA0Pi[3][3], int **(*__f59__PA0PPi)[3], int **__f60__PA0PPi[3][3], int *const *(*__f61__PA0PCPi)[3], int *const *__f62__PA0PCPi[3][3], int *const *const (*__f63__PA0CPCPi)[3], int *const *const __f64__PA0CPCPi[3][3], int (*__f65__PFi_i_)(int ), int *(*__f67__PFPi_i_)(int ), int **(*__f68__PFPPi_i_)(int ), int *const *(*__f69__PFPCPi_i_)(int ), int *const *const (*__f70__PFCPCPi_i_)(int ), int (*__f75__PFi_i_)(int ), int (**__f76__PPFi_i_)(int ), int (*const *__f77__PCPFi_i_)(int ), int (*const *const __f78__CPCPFi_i_)(int ), int (*(*__f79__PFPFi___i_)(int ))(), int (*(*const __f80__CPFPFi___i_)(int ))(), int (*const (*const __f81__CPFCPFi___i_)(int ))(), int __f82__CPi[const *], int __f83__CPi[const 3], int __f84__Pi[static 3], int __f85__CPi[static const 3], int (*)(int [const *]), int (*)(int [const 3]), int (*)(int [static 3]), int (*)(int [static const 3]), int *__f90__CPPi[const *], int *__f91__CPPi[const 3], int **__f92__PPPi[static 3], int *const *__f93__CPPCPi[static const 3], int *const *const __f94__CPCPCPi[static const 3], int *(*)(int [const *]), int *(*)(int [const 3]), int **(*)(int [static 3]), int *const *(*)(int [static const 3]), int *const *const (*)(int [static const 3]), int __f100__CPA0i[const *][3], int __f101__CPA0i[const 3][3], int __f102__PA0i[static 3][3], int __f103__CPA0i[static const 3][3], int (*)(int [const *][3]), int (*)(int [const 3][3]), int (*)(int [static 3][3]), int (*)(int [static const 3][3]), int *__f108__CPA0Pi[const *][3], int *__f109__CPA0Pi[const 3][3], int **__f110__PA0PPi[static 3][3], int *const *__f111__CPA0PCPi[static const 3][3], int *const *const __f112__CPA0CPCPi[static const 3][3], int *(*)(int [const *][3]), int *(*)(int [const 3][3]), int **(*)(int [static 3][3]), int *const *(*)(int [static const 3][3]), int *const *const (*)(int [static const 3][3])){
+}
Index: src/Tests/Expect-r/Typeof.txt
===================================================================
--- src/Tests/Expect-r/Typeof.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/Typeof.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,68 @@
+nameExpr is v1
+decl is v1: pointer to signed int 
+newExpr is Variable Expression: v1: pointer to signed int 
+
+alternatives before prune:
+Cost ( 0, 0, 0 ): Variable Expression: v1: pointer to signed int 
+(types:
+    lvalue pointer to signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 1 ): Cast of:
+  Variable Expression: v1: pointer to signed int 
+
+to:
+  nothing
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+nameExpr is *?
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 4 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 4 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 4 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Error: No reasonable alternatives for expression Name: *?
+
Index: src/Tests/Expect-r/VariableDeclarator.txt
===================================================================
--- src/Tests/Expect-r/VariableDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/VariableDeclarator.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,740 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 10 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 3 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 3 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int __f1__i;
+int __f2__i;
+int *__f3__Pi;
+int **__f4__PPi;
+int *const *__f5__PCPi;
+int *const *const __f6__CPCPi;
+int *__f7__Pi;
+int **__f8__PPi;
+int *const *__f9__PCPi;
+int *const *const __f10__CPCPi;
+int *__f11__Pi;
+int **__f12__PPi;
+int *const *__f13__PCPi;
+int *const *const __f14__CPCPi;
+int __f15__A0i[];
+int __f16__A0i[((long unsigned int )10)];
+int __f17__A0i[];
+int __f18__A0i[((long unsigned int )10)];
+int *__f19__A0Pi[];
+int *__f20__A0Pi[((long unsigned int )10)];
+int **__f21__A0PPi[];
+int **__f22__A0PPi[((long unsigned int )10)];
+int *const *__f23__A0PCPi[];
+int *const *__f24__A0PCPi[((long unsigned int )10)];
+int *const *const __f25__A0CPCPi[];
+int *const *const __f26__A0CPCPi[((long unsigned int )10)];
+int *__f27__A0Pi[];
+int *__f28__A0Pi[((long unsigned int )10)];
+int **__f29__A0PPi[];
+int **__f30__A0PPi[((long unsigned int )10)];
+int *const *__f31__A0PCPi[];
+int *const *__f32__A0PCPi[((long unsigned int )10)];
+int *const *const __f33__A0CPCPi[];
+int *const *const __f34__A0CPCPi[((long unsigned int )10)];
+int (*__f35__PA0i)[];
+int (*__f36__PA0i)[10];
+int (**__f37__PPA0i)[];
+int (**__f38__PPA0i)[10];
+int (*const *__f39__PCPA0i)[];
+int (*const *__f40__PCPA0i)[10];
+int (*const *const __f41__CPCPA0i)[];
+int (*const *const __f42__CPCPA0i)[10];
+int __f43__A0A0i[][3];
+int __f44__A0A0i[((long unsigned int )3)][3];
+int __f45__A0A0i[][3];
+int __f46__A0A0i[((long unsigned int )3)][3];
+int __f47__A0A0i[][3];
+int __f48__A0A0i[((long unsigned int )3)][3];
+int *__f49__A0A0Pi[][3];
+int *__f50__A0A0Pi[((long unsigned int )3)][3];
+int **__f51__A0A0PPi[][3];
+int **__f52__A0A0PPi[((long unsigned int )3)][3];
+int *const *__f53__A0A0PCPi[][3];
+int *const *__f54__A0A0PCPi[((long unsigned int )3)][3];
+int *const *const __f55__A0A0CPCPi[][3];
+int *const *const __f56__A0A0CPCPi[((long unsigned int )3)][3];
+int *__f57__A0A0Pi[][3];
+int *__f58__A0A0Pi[((long unsigned int )3)][3];
+int **__f59__A0A0PPi[][3];
+int **__f60__A0A0PPi[((long unsigned int )3)][3];
+int *const *__f61__A0A0PCPi[][3];
+int *const *__f62__A0A0PCPi[((long unsigned int )3)][3];
+int *const *const __f63__A0A0CPCPi[][3];
+int *const *const __f64__A0A0CPCPi[((long unsigned int )3)][3];
+int __f65__Fi_i_(int );
+int __f66__Fi_i_(int );
+int *__f67__FPi_i_(int );
+int **__f68__FPPi_i_(int );
+int *const *__f69__FPCPi_i_(int );
+int *const *const __f70__FCPCPi_i_(int );
+int *__f71__FPi_i_(int );
+int **__f72__FPPi_i_(int );
+int *const *__f73__FPCPi_i_(int );
+int *const *const __f74__FCPCPi_i_(int );
+int (*__f75__PFi_i_)(int );
+int (**__f76__PPFi_i_)(int );
+int (*const *__f77__PCPFi_i_)(int );
+int (*const *const __f78__CPCPFi_i_)(int );
+int (*(*__f79__PFPFi___i_)(int ))();
+int (*(*const __f80__CPFPFi___i_)(int ))();
+int (*const (*const __f81__CPFCPFi___i_)(int ))();
+int *__cf3__Pi;
+int **__cf4__PPi;
+int *const *__cf5__PCPi;
+int *const *const __cf6__CPCPi;
+int __cf15__A0i[];
+int __cf16__A0i[((long unsigned int )10)];
+int *__cf19__A0Pi[];
+int *__cf20__A0Pi[((long unsigned int )10)];
+int **__cf21__A0PPi[];
+int **__cf22__A0PPi[((long unsigned int )10)];
+int *const *__cf23__A0PCPi[];
+int *const *__cf24__A0PCPi[((long unsigned int )10)];
+int *const *const __cf25__A0CPCPi[];
+int *const *const __cf26__A0CPCPi[((long unsigned int )10)];
+int (*__cf35__PA0i)[];
+int (*__cf36__PA0i)[10];
+int (**__cf37__PPA0i)[];
+int (**__cf38__PPA0i)[10];
+int (*const *__cf39__PCPA0i)[];
+int (*const *__cf40__PCPA0i)[10];
+int (*const *const __cf41__CPCPA0i)[];
+int (*const *const __cf42__CPCPA0i)[10];
+int __cf43__A0A0i[][3];
+int __cf44__A0A0i[((long unsigned int )3)][3];
+int *__cf49__A0A0Pi[][3];
+int *__cf50__A0A0Pi[((long unsigned int )3)][3];
+int **__cf51__A0A0PPi[][3];
+int **__cf52__A0A0PPi[((long unsigned int )3)][3];
+int *const __cf53__A0A0CPi[][3];
+int *const *__cf54__A0A0PCPi[((long unsigned int )3)][3];
+int *const *const __cf55__A0A0CPCPi[][3];
+int *const *const __cf56__A0A0CPCPi[((long unsigned int )3)][3];
+int __cf65__Fi_i_(int );
+int __cf66__Fi_i_(int );
+int *__cf67__FPi_i_(int );
+int **__cf68__FPPi_i_(int );
+int **const __cf69__FCPPi_i_(int );
+int *const *const __cf70__FCPCPi_i_(int );
+int (*(*(*(*(*__v3__PA0PA0PFPA0PA0i_PA0PA0iPA0PA0i_)[])[])(int (*(*)[])[], int (*(*)[])[]))[])[];
Index: src/Tests/Expect-r/gcc900407-1.txt
===================================================================
--- src/Tests/Expect-r/gcc900407-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc900407-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,12 @@
+nameExpr is ?=?
+nameExpr is ?=?
+nameExpr is ?!=?
+nameExpr is ?=?
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
Index: src/Tests/Expect-r/gcc900516-1.txt
===================================================================
--- src/Tests/Expect-r/gcc900516-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc900516-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3 @@
+nameExpr is !?
+Error: No reasonable alternatives for expression Name: !?
+
Index: src/Tests/Expect-r/gcc920301-1.txt
===================================================================
--- src/Tests/Expect-r/gcc920301-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920301-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,28 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): constant expression 5 signed int (types:
+    signed int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+alternatives before prune:
+Cost ( 0, 0, 2 ): Cast of:
+constant expression 5 signed int 
+to:
+  long unsigned int 
+(types:
+    long unsigned int 
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+int __f__Fi__(){
+    static void *__t__A0Pv[];
+    __L1__: /* null statement */ ;
+
+}
+int __g__Fi__(){
+    static unsigned int __p__A0Ui[((long unsigned int )5)];
+}
Index: src/Tests/Expect-r/gcc920409-1.txt
===================================================================
--- src/Tests/Expect-r/gcc920409-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920409-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3 @@
+nameExpr is ?!=?
+Error: No reasonable alternatives for expression Name: ?!=?
+
Index: src/Tests/Expect-r/gcc920409-2.txt
===================================================================
--- src/Tests/Expect-r/gcc920409-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920409-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,9 @@
+nameExpr is ?!=?
+nameExpr is ?=?
+nameExpr is ?=?
+Error: No reasonable alternatives for expression Name: ?!=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
+Error: No reasonable alternatives for expression Name: ?=?
+
Index: src/Tests/Expect-r/gcc920410-2.txt
===================================================================
--- src/Tests/Expect-r/gcc920410-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920410-2.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,3 @@
+nameExpr is ?!=?
+Error: No reasonable alternatives for expression Name: ?!=?
+
Index: src/Tests/Expect-r/gcc920501-1.txt
===================================================================
--- src/Tests/Expect-r/gcc920501-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920501-1.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,12 @@
+alternatives before prune:
+Cost ( 0, 0, 0 ): Applying untyped: 
+    Name: LabAddress
+...to: 
+    Name: c
+(types:
+)
+Environment: 
+
+there are 1 alternatives before elimination
+there are 1 alternatives after elimination
+Segmentation fault (core dumped)
Index: src/Tests/Expect-r/gcc920501-11.txt
===================================================================
--- src/Tests/Expect-r/gcc920501-11.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920501-11.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,2 @@
+cfa-cpp: Parser/ExpressionNode.cc:456: virtual Expression* CompositeExprNode::build() const: Assertion `args.size() == 1' failed.
+Aborted (core dumped)
Index: src/Tests/Expect-r/gcc920501-19.txt
===================================================================
--- src/Tests/Expect-r/gcc920501-19.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/gcc920501-19.txt	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,6 @@
+nameExpr is 0
+nameExpr is ?=?
+Error: No reasonable alternatives for expression Name: 0
+
+Error: No reasonable alternatives for expression Name: ?=?
+
Index: src/Tests/Expect-r/report
===================================================================
--- src/Tests/Expect-r/report	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
+++ src/Tests/Expect-r/report	(revision b1d6dd544a60d22c07bdaaac6bc78180bf2015ad)
@@ -0,0 +1,57 @@
+---Abstype.txt---
+---Array.txt---
+---AsmName.txt---
+---Attributes.txt---
+---Cast.txt---
+---CastError.txt---
+---CharStringConstants.txt---
+---CommentMisc.txt---
+---Constant0-1.txt---
+---Context.txt---
+---DeclarationErrors.txt---
+---DeclarationSpecifier.txt---
+---Enum.txt---
+---Exception.txt---
+---Expression.txt---
+---Forall.txt---
+---Function.txt---
+---Functions.txt---
+---GccExtensions.txt---
+---IdentFuncDeclarator.txt---
+---IdentFuncParamDeclarator.txt---
+---InferParam.txt---
+---Initialization.txt---
+---Initialization2.txt---
+---LabelledExit.txt---
+---Members.txt---
+---Misc.txt---
+---MiscError.txt---
+---NamedParmArg.txt---
+---NumericConstants.txt---
+---OccursError.txt---
+---Operators.txt---
+---Quad.txt---
+---Rank2.txt---
+---Scope.txt---
+---ScopeErrors.txt---
+---ShortCircuit.txt---
+---Statement.txt---
+---StructMember.txt---
+---Subrange.txt---
+---Switch.txt---
+---Tuple.txt---
+---TypeGenerator.txt---
+---Typedef.txt---
+---TypedefDeclarator.txt---
+---TypedefParamDeclarator.txt---
+---Typeof.txt---
+---VariableDeclarator.txt---
+---gcc900407-1.txt---
+---gcc900516-1.txt---
+---gcc920301-1.txt---
+---gcc920409-1.txt---
+---gcc920409-2.txt---
+---gcc920410-2.txt---
+---gcc920501-1.txt---
+---gcc920501-11.txt---
+---gcc920501-19.txt---
