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 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 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 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 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 __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 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 S24 
    _src: instance of struct S24 
  returning 
    instance of struct S24 
  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 S24 
              Member Expression, with field: 
                i: instance of type T (not function type) 
              from aggregate: 
                Variable Expression: _src: instance of struct S24 

              Return Statement, returning: Variable Expression: _src: instance of struct S24 



newExpr is Variable Expression: ?=?: inline static function
    with parameters
      _dst: pointer to instance of struct S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 


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 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 S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 

(types:
    pointer to function
        with parameters
          _dst: pointer to instance of struct S24 
          _src: instance of struct S24 
        returning 
          instance of struct S24 

)
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 S24 
(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 S24 
(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 S24 
(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 S24 
(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 S24 
(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 S24 
              _src: instance of struct S24 
            returning 
              instance of struct S24 

(types:
            pointer to function
                with parameters
                  _dst: pointer to instance of struct S24 
                  _src: instance of struct S24 
                returning 
                  instance of struct S24 

)
        Environment: 
formal type is pointer to instance of struct S24 
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 __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 S24 
(types:
    lvalue instance of struct S24 
)
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 S24 

to:
  instance of struct S24 
(types:
    instance of struct S24 
)
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 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 S24 
    _src: instance of struct S24 
  returning 
    instance of struct S24 
  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 S24 
              Member Expression, with field: 
                i: instance of type T (not function type) 
              from aggregate: 
                Variable Expression: _src: instance of struct S24 

              Return Statement, returning: Cast of:
  Variable Expression: _src: instance of struct S24 

to:
  instance of struct S24 
with environment:
  Types:
  Non-types:



newExpr is Variable Expression: ?=?: inline static function
    with parameters
      _dst: pointer to instance of struct S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 


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 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 S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 

(types:
    pointer to function
        with parameters
          _dst: pointer to instance of struct S24 
          _src: instance of struct S24 
        returning 
          instance of struct S24 

)
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 S24 
              _src: instance of struct S24 
            returning 
              instance of struct S24 

(types:
            pointer to function
                with parameters
                  _dst: pointer to instance of struct S24 
                  _src: instance of struct S24 
                returning 
                  instance of struct S24 

)
        Environment: 
formal type is pointer to instance of struct S24 
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 __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 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 S24 
    _src: instance of struct S24 
  returning 
    instance of struct S24 
  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 S24 
              Member Expression, with field: 
                i: instance of type T (not function type) 
              from aggregate: 
                Variable Expression: _src: instance of struct S24 

              Return Statement, returning: Cast of:
  Variable Expression: _src: instance of struct S24 

to:
  instance of struct S24 
with environment:
  Types:
  Non-types:



newExpr is Variable Expression: ?=?: inline static function
    with parameters
      _dst: pointer to instance of struct S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 


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 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 S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 

(types:
    pointer to function
        with parameters
          _dst: pointer to instance of struct S24 
          _src: instance of struct S24 
        returning 
          instance of struct S24 

)
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 S24 
              _src: instance of struct S24 
            returning 
              instance of struct S24 

(types:
            pointer to function
                with parameters
                  _dst: pointer to instance of struct S24 
                  _src: instance of struct S24 
                returning 
                  instance of struct S24 

)
        Environment: 
formal type is pointer to instance of struct S24 
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 __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 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 S24 
    _src: instance of struct S24 
  returning 
    instance of struct S24 
  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 S24 
              Member Expression, with field: 
                i: instance of type T (not function type) 
              from aggregate: 
                Variable Expression: _src: instance of struct S24 

              Return Statement, returning: Cast of:
  Variable Expression: _src: instance of struct S24 

to:
  instance of struct S24 
with environment:
  Types:
  Non-types:



newExpr is Variable Expression: ?=?: inline static function
    with parameters
      _dst: pointer to instance of struct S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 


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 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 S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 

(types:
    pointer to function
        with parameters
          _dst: pointer to instance of struct S24 
          _src: instance of struct S24 
        returning 
          instance of struct S24 

)
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 S24 
              _src: instance of struct S24 
            returning 
              instance of struct S24 

(types:
            pointer to function
                with parameters
                  _dst: pointer to instance of struct S24 
                  _src: instance of struct S24 
                returning 
                  instance of struct S24 

)
        Environment: 
formal type is pointer to instance of struct S24 
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 __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 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 S24 
    _src: instance of struct S24 
  returning 
    instance of struct S24 
  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 S24 
              Member Expression, with field: 
                i: instance of type T (not function type) 
              from aggregate: 
                Variable Expression: _src: instance of struct S24 

              Return Statement, returning: Cast of:
  Variable Expression: _src: instance of struct S24 

to:
  instance of struct S24 
with environment:
  Types:
  Non-types:



newExpr is Variable Expression: ?=?: inline static function
    with parameters
      _dst: pointer to instance of struct S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 


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 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 S24 
      _src: instance of struct S24 
    returning 
      instance of struct S24 

(types:
    pointer to function
        with parameters
          _dst: pointer to instance of struct S24 
          _src: instance of struct S24 
        returning 
          instance of struct S24 

)
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 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 S24 
    Member Expression, with field: 
      i: instance of type T (not function type) 
    from aggregate: 
      Variable Expression: _src: instance of struct S24 

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 


