fred: function
      accepting unspecified arguments
    returning 
      signed int 
    with body 
      CompoundStmt
        Declaration of struct s
            with members
              i: signed int 

        Declaration of ?=?: automatically generated inline function
            with parameters
              _dst: pointer to instance of struct s 
              _src: instance of struct s 
            returning 
              instance of struct s 
            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 s 
                        Member Expression, with field: 
                          i: signed int 
                        from aggregate: 
                          Variable Expression: _src: instance of struct s 

                                  Return Statement, returning: Variable Expression: _src: instance of struct s 



        Declaration of p: pointer to instance of struct s 
        Declaration of i: signed int 
                  Expression Statement:
            Applying untyped: 
                Name: !?
            ...to: 
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ~?
            ...to: 
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: +?
            ...to: 
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: -?
            ...to: 
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: *?
            ...to: 
                Name: p

                  Expression Statement:
            Applying untyped: 
                Name: ++?
            ...to: 
                Address of:
                  Name: p

                  Expression Statement:
            Applying untyped: 
                Name: --?
            ...to: 
                Address of:
                  Name: p

                  Expression Statement:
            Applying untyped: 
                Name: ?++
            ...to: 
                Address of:
                  Name: p

                  Expression Statement:
            Applying untyped: 
                Name: ?--
            ...to: 
                Address of:
                  Name: p

                  Expression Statement:
            Applying untyped: 
                Name: ?+?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?-?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?*?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?/?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?%?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?^?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?&?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?|?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?<?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?>?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?==?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?!=?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?<<?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?>>?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?<=?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?>=?
            ...to: 
                Name: i
                Name: i

                  Expression Statement:
            Short-circuited operation (and) on: Cast of:
  Applying untyped: 
      Name: ?!=?
  ...to: 
      Name: i
      Name: 0

to:
  signed int 
 and Cast of:
  Applying untyped: 
      Name: ?!=?
  ...to: 
      Name: i
      Name: 0

to:
  signed int 


                  Expression Statement:
            Short-circuited operation (or) on: Cast of:
  Applying untyped: 
      Name: ?!=?
  ...to: 
      Name: i
      Name: 0

to:
  signed int 
 and Cast of:
  Applying untyped: 
      Name: ?!=?
  ...to: 
      Name: i
      Name: 0

to:
  signed int 


                  Expression Statement:
            Member Expression, with field: i            from aggregate:               Applying untyped: 
                  Name: *?
              ...to: 
                  Name: p

                  Expression Statement:
            Applying untyped: 
                Name: ?+=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?-=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?*=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?/=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?%=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?&=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?|=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?^=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?<<=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Applying untyped: 
                Name: ?>>=?
            ...to: 
                Address of:
                  Name: i
                Name: i

                  Expression Statement:
            Conditional expression on: 
              Cast of:
                Applying untyped: 
                    Name: ?!=?
                ...to: 
                    Name: i
                    Name: 0

              to:
                signed int 
            First alternative:
              Name: i
            Second alternative:
              Name: i



