Test: mg_19_3

Higher SubleqErrorOutputSubleqITR
int f(int x)
{
   __out x;
}

void main()
{
   f(50);
}


2

   top:top top sqmain

_f:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t1 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t2 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t3 0

   t1; t2; bp t1; c1 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t3 (-1)

   ?+8; sp ?+4; t3; 0 t3; inc sp
   ?+8; sp ?+4; t2; 0 t2; inc sp
   ?+8; sp ?+4; t1; 0 t1; inc sp
   sp; bp sp
   ?+8; sp ?+4; bp; 0 bp; inc sp
   ?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0

_main:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t1 0

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c2 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _f; . ?;
   c1 sp

   ?+8; sp ?+4; t1; 0 t1; inc sp
   sp; bp sp
   ?+8; sp ?+4; bp; 0 bp; inc sp
   ?+8; sp ?+4; ?+7; 0 ?+3; Z Z 0

sqmain:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _main; . ?; inc sp

   Z Z (-1)

. c1:-2 c2:50

. t1:0 t2:0 t3:0

. inc:-1 Z:0 dec:1 ax:0 bp:0 sp:-sp

Root (mg_19_3.hsq:10)
   Function:0 [f] (mg_19_3.hsq:1)
      Keyword [int] (mg_19_3.hsq:1)
      Param-type-list (mg_19_3.hsq:1)
         Stackvar:-2 [x] (mg_19_3.hsq:1)
      Block (mg_19_3.hsq:2)
         OperatorIO [__out] (mg_19_3.hsq:3)
            Unary [*] (mg_19_3.hsq:3) x:1
               Additive [+] (mg_19_3.hsq:3) x:1
                  Variable [@bp] (mg_19_3.hsq:3) x:1
                  Const [-2] (mg_19_3.hsq:3) x:1
   Function:0 [main] (mg_19_3.hsq:6)
      Keyword [void] (mg_19_3.hsq:6)
      Param-type-list (mg_19_3.hsq:6)
      Block (mg_19_3.hsq:7)
         Postfix [(] (mg_19_3.hsq:8)
            Label [f] (mg_19_3.hsq:8) f:1
            Expression-list (mg_19_3.hsq:8)
               Const [50] (mg_19_3.hsq:8)