?=?: function with parameters pointer to signed int signed int returning signed int ?*?: function with parameters signed int signed int returning signed int square: 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) ?*?: pointer to function with parameters instance of type T (not function type) instance of type T (not function type) returning instance of type T (not function type) function with parameters t: instance of type T (not function type) returning instance of type T (not function type) with body CompoundStmt Return Statement, returning: Cast of: Application of Variable Expression: ?*?: pointer to function with parameters instance of type T (not function type) instance of type T (not function type) returning instance of type T (not function type) to arguments Variable Expression: t: instance of type T (not function type) Variable Expression: t: instance of type T (not function type) to: instance of type T (not function type) with environment: Types: Non-types: quad: forall U: type with assertions ?=?: pointer to function with parameters pointer to instance of type U (not function type) instance of type U (not function type) returning instance of type U (not function type) square: pointer to function with parameters instance of type U (not function type) returning instance of type U (not function type) function with parameters u: instance of type U (not function type) returning instance of type U (not function type) with body CompoundStmt Return Statement, returning: Cast of: Application of Variable Expression: square: pointer to function with parameters instance of type U (not function type) returning instance of type U (not function type) to arguments Application of Variable Expression: square: pointer to function with parameters instance of type U (not function type) returning instance of type U (not function type) to arguments Variable Expression: u: instance of type U (not function type) to: instance of type U (not function type) with environment: Types: Non-types: f: function accepting unspecified arguments returning nothing with body CompoundStmt Expression Statement: Application of Variable Expression: quad: forall U: type with assertions ?=?: pointer to function with parameters pointer to instance of type U (not function type) instance of type U (not function type) returning instance of type U (not function type) square: pointer to function with parameters instance of type U (not function type) returning instance of type U (not function type) function with parameters u: instance of type U (not function type) returning instance of type U (not function type) to arguments constant expression 7 signed int with inferred parameters: ?=?: function with parameters pointer to signed int signed int returning signed int ?*?: function with parameters signed int signed int returning signed int ?=?: function with parameters pointer to signed int signed int returning signed int square: 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) ?*?: pointer to function with parameters instance of type T (not function type) instance of type T (not function type) returning instance of type T (not function type) function with parameters t: instance of type T (not function type) returning instance of type T (not function type) with environment: Types: _0_U -> signed int _1_T -> signed int Non-types: int ___operator_assign__Fi_Pii_(int *, int ); int ___operator_multiply__Fi_ii_(int , int ); void __square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(void (*_adapterF2tT_2tT2tT_)(void (*)(), void *, void *, void *), void (*_adapterF2tT_P2tT2tT_)(void (*)(), void *, void *, void *), long unsigned int T, void (*___operator_assign__PF2tT_P2tT2tT_)(), void (*___operator_multiply__PF2tT_2tT2tT_)(), void *_retparm, void *__t__2tT){ _adapterF2tT_2tT2tT_(___operator_multiply__PF2tT_2tT2tT_, _retparm, __t__2tT, __t__2tT); return ; } void __quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(void (*_adapterF2tU_2tU_)(void (*)(), void *, void *), void (*_adapterF2tU_P2tU2tU_)(void (*)(), void *, void *, void *), long unsigned int U, void (*___operator_assign__PF2tU_P2tU2tU_)(), void (*__square__PF2tU_2tU_)(), void *_retparm, void *__u__2tU){ void *_temp0; (_temp0=__builtin_alloca(U)); _adapterF2tU_2tU_(__square__PF2tU_2tU_, _retparm, (_adapterF2tU_2tU_(__square__PF2tU_2tU_, _temp0, __u__2tU) , _temp0)); return ; } void __f__F__(){ int _thunk0(int _p0){ int _temp1; void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){ ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1)))); } void _adapterFi_ii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){ ((*((int *)_ret))=((int (*)(int , int ))_adaptee)((*((int *)_p0)), (*((int *)_p1)))); } return (__square__A1_0_0____operator_assign__PFt0_Pt0t0____operator_multiply__PFt0_t0t0__Ft0_t0_(_adapterFi_ii_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())___operator_multiply__Fi_ii_), (&_temp1), (&_p0)) , _temp1); } int _temp2; int _temp3; (_temp3=7); void _adapterFi_Pii_(void (*_adaptee)(), void *_ret, void *_p0, void *_p1){ ((*((int *)_ret))=((int (*)(int *, int ))_adaptee)(_p0, (*((int *)_p1)))); } void _adapterFi_i_(void (*_adaptee)(), void *_ret, void *_p0){ ((*((int *)_ret))=((int (*)(int ))_adaptee)((*((int *)_p0)))); } (__quad__A1_0_0____operator_assign__PFt0_Pt0t0___square__PFt0_t0__Ft0_t0_(_adapterFi_i_, _adapterFi_Pii_, sizeof(int ), ((void (*)())___operator_assign__Fi_Pii_), ((void (*)())(&_thunk0)), (&_temp2), (&_temp3)) , _temp2); }