x: signed int z: double struct __anonymous0 with members a: signed int b: double ?=?: automatically generated inline static function with parameters _dst: pointer to instance of struct __anonymous0 _src: instance of struct __anonymous0 returning instance of struct __anonymous0 with body CompoundStmt Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Member Expression, with field: a: signed int from aggregate: Applying untyped: Name: *? ...to: Variable Expression: _dst: pointer to instance of struct __anonymous0 Member Expression, with field: a: signed int from aggregate: Variable Expression: _src: instance of struct __anonymous0 Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Member Expression, with field: b: double from aggregate: Applying untyped: Name: *? ...to: Variable Expression: _dst: pointer to instance of struct __anonymous0 Member Expression, with field: b: double from aggregate: Variable Expression: _src: instance of struct __anonymous0 Return Statement, returning: Variable Expression: _src: instance of struct __anonymous0 u: type for instance of struct __anonymous0 ?=?: automatically generated function with parameters _dst: pointer to instance of type u (not function type) _src: instance of type u (not function type) returning instance of type u (not function type) with body CompoundStmt Return Statement, returning: Applying untyped: Name: ?=? ...to: Cast of: Variable Expression: _dst: pointer to instance of type u (not function type) to: pointer to instance of struct __anonymous0 Cast of: Variable Expression: _src: instance of type u (not function type) to: instance of struct __anonymous0 f: function with parameters y: signed int returning signed int q: double w: function with parameters y: double v: instance of type u (not function type) returning double with body CompoundStmt Declaration of x: type with assertions t: function with parameters instance of type u (not function type) returning instance of type x (not function type) Declaration of ?=?: automatically generated function with parameters _dst: pointer to instance of type x (not function type) _src: instance of type x (not function type) returning instance of type x (not function type) Declaration of u: instance of type u (not function type) with initializer Simple Initializer: Name: y Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: u Name: y Declaration of z: instance of type x (not function type) with initializer Simple Initializer: Applying untyped: Name: t ...to: Name: u Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: z Applying untyped: Name: t ...to: Name: u p: double context has_u with parameters z: type with members u: function with parameters instance of type z (not function type) returning instance of type z (not function type) q: forall t: type with assertions ?=?: pointer to function with parameters pointer to instance of type t (not function type) instance of type t (not function type) returning instance of type t (not function type) u: pointer to function with parameters instance of type t (not function type) returning instance of type t (not function type) function with parameters the_t: instance of type t (not function type) returning double with body CompoundStmt Declaration of y: instance of type t (not function type) with initializer Simple Initializer: Applying untyped: Name: u ...to: Name: the_t Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: y Applying untyped: Name: u ...to: Name: the_t f: function with parameters p: double returning float with body CompoundStmt Declaration of y: signed int CompoundStmt Declaration of y: char CompoundStmt Declaration of x: char Declaration of z: char with initializer Simple Initializer: Name: x Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: z Name: x Declaration of x: char with initializer Simple Initializer: Name: y Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: x Name: y Declaration of q: char with initializer Simple Initializer: Name: y Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: q Name: y g: function returning float with body CompoundStmt Try Statement with block: CompoundStmt Expression Statement: Applying untyped: Name: some_func ...to: and handlers: Catch Statement ... catching x: char Declaration of z: char q: function accepting unspecified arguments returning double with parameter names i with parameter declarations i: signed int with body CompoundStmt Switch on condition: Name: i Case Name: 0 Return Statement, returning: Name: q Default Return Statement, returning: Name: i