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