a: signed int a: float f: function with parameters signed int returning signed int f: function with parameters float returning float g: function accepting unspecified arguments returning nothing with body CompoundStmt Expression Statement: Applying untyped: Name: f ...to: Cast of: Name: a to: signed int Expression Statement: Cast of: Applying untyped: Name: f ...to: Name: a to: signed int p: tuple of types signed int p: tuple of types signed int double p: tuple of types signed int signed int signed int p: tuple of types signed int signed int signed int signed int q: tuple of types char q: tuple of types signed int signed int q: tuple of types signed int signed int float q: tuple of types signed int signed int signed int signed int r: function with parameters signed int signed int signed int signed int returning signed int signed int s: function accepting unspecified arguments returning nothing with body CompoundStmt Expression Statement: Applying untyped: Name: r ...to: Name: p Name: q Expression Statement: Applying untyped: Name: r ...to: Tuple: Name: q Name: p Expression Statement: Applying untyped: Name: r ...to: Applying untyped: Name: r ...to: Name: p Name: q Applying untyped: Name: r ...to: Name: q Name: q