nameExpr is s1
decl is s1: signed int 
newExpr is Variable Expression: s1: signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: s1: signed int 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 1 ): Cast of:
  Variable Expression: s1: signed int 

to:
  nothing
(types:
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is s1
decl is s1: signed int 
newExpr is Variable Expression: s1: signed int 

alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: s1: signed int 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 1 ): Cast of:
  Variable Expression: s1: signed int 

to:
  nothing
(types:
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is ?=?
decl is ?=?: automatically generated inline function
  with parameters
    _dst: pointer to instance of struct s2 
    _src: instance of struct s2 
  returning 
    instance of struct s2 
  with body 
    CompoundStmt
              Expression Statement:
          Applying untyped: 
              Name: ?=?
          ...to: 
              Address of:
                Member Expression, with field: 
                  i: signed int 
                from aggregate: 
                  Applying untyped: 
                      Name: *?
                  ...to: 
                      Variable Expression: _dst: pointer to instance of struct s2 
              Member Expression, with field: 
                i: signed int 
              from aggregate: 
                Variable Expression: _src: instance of struct s2 

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



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


alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
    with parameters
      _dst: pointer to instance of struct s2 
      _src: instance of struct s2 
    returning 
      instance of struct s2 

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

)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Applying untyped: 
      Name: *?
  ...to: 
      Variable Expression: _dst: pointer to instance of struct s2 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Address of:
  Member Expression, with field: 
    i: signed int 
  from aggregate: 
    Applying untyped: 
        Name: *?
    ...to: 
        Variable Expression: _dst: pointer to instance of struct s2 
(types:
    pointer to signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Address of:
  Member Expression, with field: 
    i: signed int 
  from aggregate: 
    Applying untyped: 
        Name: *?
    ...to: 
        Variable Expression: _dst: pointer to instance of struct s2 
(types:
    pointer to signed int 
)
Environment: 

alternatives before prune:
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Variable Expression: _src: instance of struct s2 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Variable Expression: _src: instance of struct s2 
(types:
    lvalue signed int 
)
Environment: 

working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
            with parameters
              _dst: pointer to instance of struct s2 
              _src: instance of struct s2 
            returning 
              instance of struct s2 

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

)
        Environment: 
formal type is pointer to instance of struct s2 
actual type is pointer to signed int 
alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s2 
(types:
    lvalue instance of struct s2 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Cast of:
  Variable Expression: _src: instance of struct s2 

to:
  instance of struct s2 
(types:
    instance of struct s2 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is ?=?
decl is ?=?: automatically generated inline function
  with parameters
    _dst: pointer to instance of struct s2 
    _src: instance of struct s2 
  returning 
    instance of struct s2 
  with body 
    CompoundStmt
              Expression Statement:
          Applying untyped: 
              Name: ?=?
          ...to: 
              Address of:
                Member Expression, with field: 
                  i: signed int 
                from aggregate: 
                  Applying untyped: 
                      Name: *?
                  ...to: 
                      Variable Expression: _dst: pointer to instance of struct s2 
              Member Expression, with field: 
                i: signed int 
              from aggregate: 
                Variable Expression: _src: instance of struct s2 

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

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



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


decl is ?=?: automatically generated inline function
  with parameters
    _dst: pointer to instance of struct s3 
    _src: instance of struct s3 
  returning 
    instance of struct s3 
  with body 
    CompoundStmt
              Expression Statement:
          Applying untyped: 
              Name: ?=?
          ...to: 
              Address of:
                Member Expression, with field: 
                  i: signed int 
                from aggregate: 
                  Applying untyped: 
                      Name: *?
                  ...to: 
                      Variable Expression: _dst: pointer to instance of struct s3 
              Member Expression, with field: 
                i: signed int 
              from aggregate: 
                Variable Expression: _src: instance of struct s3 

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



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


alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
    with parameters
      _dst: pointer to instance of struct s2 
      _src: instance of struct s2 
    returning 
      instance of struct s2 

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

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
    with parameters
      _dst: pointer to instance of struct s3 
      _src: instance of struct s3 
    returning 
      instance of struct s3 

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

)
Environment: 

there are 2 alternatives before elimination
there are 2 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Applying untyped: 
      Name: *?
  ...to: 
      Variable Expression: _dst: pointer to instance of struct s3 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Address of:
  Member Expression, with field: 
    i: signed int 
  from aggregate: 
    Applying untyped: 
        Name: *?
    ...to: 
        Variable Expression: _dst: pointer to instance of struct s3 
(types:
    pointer to signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Address of:
  Member Expression, with field: 
    i: signed int 
  from aggregate: 
    Applying untyped: 
        Name: *?
    ...to: 
        Variable Expression: _dst: pointer to instance of struct s3 
(types:
    pointer to signed int 
)
Environment: 

alternatives before prune:
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Variable Expression: _src: instance of struct s3 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Variable Expression: _src: instance of struct s3 
(types:
    lvalue signed int 
)
Environment: 

working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
            with parameters
              _dst: pointer to instance of struct s3 
              _src: instance of struct s3 
            returning 
              instance of struct s3 

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

)
        Environment: 
formal type is pointer to instance of struct s3 
actual type is pointer to signed int 
working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
            with parameters
              _dst: pointer to instance of struct s2 
              _src: instance of struct s2 
            returning 
              instance of struct s2 

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

)
        Environment: 
formal type is pointer to instance of struct s2 
actual type is pointer to signed int 
alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s3 
(types:
    lvalue instance of struct s3 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Cast of:
  Variable Expression: _src: instance of struct s3 

to:
  instance of struct s3 
(types:
    instance of struct s3 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
nameExpr is ?=?
decl is ?=?: automatically generated inline function
  with parameters
    _dst: pointer to instance of struct s2 
    _src: instance of struct s2 
  returning 
    instance of struct s2 
  with body 
    CompoundStmt
              Expression Statement:
          Applying untyped: 
              Name: ?=?
          ...to: 
              Address of:
                Member Expression, with field: 
                  i: signed int 
                from aggregate: 
                  Applying untyped: 
                      Name: *?
                  ...to: 
                      Variable Expression: _dst: pointer to instance of struct s2 
              Member Expression, with field: 
                i: signed int 
              from aggregate: 
                Variable Expression: _src: instance of struct s2 

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

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



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


decl is ?=?: automatically generated inline function
  with parameters
    _dst: pointer to instance of struct s3 
    _src: instance of struct s3 
  returning 
    instance of struct s3 
  with body 
    CompoundStmt
              Expression Statement:
          Applying untyped: 
              Name: ?=?
          ...to: 
              Address of:
                Member Expression, with field: 
                  i: signed int 
                from aggregate: 
                  Applying untyped: 
                      Name: *?
                  ...to: 
                      Variable Expression: _dst: pointer to instance of struct s3 
              Member Expression, with field: 
                i: signed int 
              from aggregate: 
                Variable Expression: _src: instance of struct s3 

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

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



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


decl is ?=?: automatically generated inline function
  with parameters
    _dst: pointer to instance of struct s4 
    _src: instance of struct s4 
  returning 
    instance of struct s4 
  with body 
    CompoundStmt
              Expression Statement:
          Applying untyped: 
              Name: ?=?
          ...to: 
              Address of:
                Member Expression, with field: 
                  i: signed int 
                from aggregate: 
                  Applying untyped: 
                      Name: *?
                  ...to: 
                      Variable Expression: _dst: pointer to instance of struct s4 
              Member Expression, with field: 
                i: signed int 
              from aggregate: 
                Variable Expression: _src: instance of struct s4 

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



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


alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
    with parameters
      _dst: pointer to instance of struct s2 
      _src: instance of struct s2 
    returning 
      instance of struct s2 

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

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
    with parameters
      _dst: pointer to instance of struct s3 
      _src: instance of struct s3 
    returning 
      instance of struct s3 

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

)
Environment: 

Cost ( 0, 0, 0 ): Variable Expression: ?=?: inline function
    with parameters
      _dst: pointer to instance of struct s4 
      _src: instance of struct s4 
    returning 
      instance of struct s4 

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

)
Environment: 

there are 3 alternatives before elimination
there are 3 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Applying untyped: 
      Name: *?
  ...to: 
      Variable Expression: _dst: pointer to instance of struct s4 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Address of:
  Member Expression, with field: 
    i: signed int 
  from aggregate: 
    Applying untyped: 
        Name: *?
    ...to: 
        Variable Expression: _dst: pointer to instance of struct s4 
(types:
    pointer to signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Address of:
  Member Expression, with field: 
    i: signed int 
  from aggregate: 
    Applying untyped: 
        Name: *?
    ...to: 
        Variable Expression: _dst: pointer to instance of struct s4 
(types:
    pointer to signed int 
)
Environment: 

alternatives before prune:
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Variable Expression: _src: instance of struct s4 
(types:
    lvalue signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
findSubExprs
Cost ( 0, 0, 0 ): Member Expression, with field: 
  i: signed int 
from aggregate: 
  Variable Expression: _src: instance of struct s4 
(types:
    lvalue signed int 
)
Environment: 

working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
            with parameters
              _dst: pointer to instance of struct s4 
              _src: instance of struct s4 
            returning 
              instance of struct s4 

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

)
        Environment: 
formal type is pointer to instance of struct s4 
actual type is pointer to signed int 
working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
            with parameters
              _dst: pointer to instance of struct s3 
              _src: instance of struct s3 
            returning 
              instance of struct s3 

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

)
        Environment: 
formal type is pointer to instance of struct s3 
actual type is pointer to signed int 
working on alternative: 
        Cost ( 0, 0, 0 ):         Variable Expression: ?=?: inline function
            with parameters
              _dst: pointer to instance of struct s2 
              _src: instance of struct s2 
            returning 
              instance of struct s2 

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

)
        Environment: 
formal type is pointer to instance of struct s2 
actual type is pointer to signed int 
alternatives before prune:
Cost ( 0, 0, 0 ): Variable Expression: _src: instance of struct s4 
(types:
    lvalue instance of struct s4 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): Cast of:
  Variable Expression: _src: instance of struct s4 

to:
  instance of struct s4 
(types:
    instance of struct s4 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
    signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 2 ): Cast of:
constant expression 10 signed int 
to:
  long unsigned int 
(types:
    long unsigned int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
    signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 2 ): Cast of:
constant expression 10 signed int 
to:
  long unsigned int 
(types:
    long unsigned int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 0 ): constant expression 10 signed int (types:
    signed int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
alternatives before prune:
Cost ( 0, 0, 2 ): Cast of:
constant expression 10 signed int 
to:
  long unsigned int 
(types:
    long unsigned int 
)
Environment: 

there are 1 alternatives before elimination
there are 1 alternatives after elimination
Error: No reasonable alternatives for expression Applying untyped: 
    Name: ?=?
...to: 
    Address of:
      Member Expression, with field: 
        i: signed int 
      from aggregate: 
        Applying untyped: 
            Name: *?
        ...to: 
            Variable Expression: _dst: pointer to instance of struct s2 
    Member Expression, with field: 
      i: signed int 
    from aggregate: 
      Variable Expression: _src: instance of struct s2 

Error: No reasonable alternatives for expression Applying untyped: 
    Name: ?=?
...to: 
    Address of:
      Member Expression, with field: 
        i: signed int 
      from aggregate: 
        Applying untyped: 
            Name: *?
        ...to: 
            Variable Expression: _dst: pointer to instance of struct s3 
    Member Expression, with field: 
      i: signed int 
    from aggregate: 
      Variable Expression: _src: instance of struct s3 

Error: No reasonable alternatives for expression Applying untyped: 
    Name: ?=?
...to: 
    Address of:
      Member Expression, with field: 
        i: signed int 
      from aggregate: 
        Applying untyped: 
            Name: *?
        ...to: 
            Variable Expression: _dst: pointer to instance of struct s4 
    Member Expression, with field: 
      i: signed int 
    from aggregate: 
      Variable Expression: _src: instance of struct s4 

