f1: function with parameters i: signed int with initializer Simple Initializer: constant expression 3 signed int j: pointer to signed int with initializer Simple Initializer: Name: 0 returning signed int with body CompoundStmt f2: function with parameters i: signed int with initializer Simple Initializer: constant expression 3 signed int j: pointer to signed int returning signed int signed int with body CompoundStmt main: C function accepting unspecified arguments returning signed int with body CompoundStmt Expression Statement: Applying untyped: Name: f1 ...to: Expression Statement: Applying untyped: Name: f1 ...to: constant expression 3 signed int Expression Statement: Applying untyped: Name: f1 ...to: constant expression 3 signed int Expression Statement: Applying untyped: Name: f1 ...to: constant expression 3 signed int Name: 0 Expression Statement: Applying untyped: Name: f1 ...to: constant expression 3 signed int Name: 0 with designator: Name: j Expression Statement: Applying untyped: Name: f1 ...to: Name: 0 with designator: Name: j constant expression 3 signed int Expression Statement: Applying untyped: Name: f1 ...to: constant expression 3 signed int with designator: Name: i Name: 0 with designator: Name: j Expression Statement: Applying untyped: Name: f1 ...to: Name: 0 with designator: Name: j constant expression 3 signed int with designator: Name: i Expression Statement: Applying untyped: Name: f1 ...to: Applying untyped: Name: f2 ...to: with designator: Tuple: Name: j Name: i