Test: mg_23_1

Higher SubleqErrorOutputSubleqITR
int a=1,b=0;
void main()
{
   __out a||b ? 50 : a||b;
}


2

   top:top top sqmain

.  _a:1 _b: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
   ?+6; sp ?+2; t2 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t3 0
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t4 0

   t1; _a Z; Z t1 ?+3; Z Z ?+9; Z; _a t1; _a t1
   t2; inc t2; Z t1 ?+3; Z Z l1
   t3; _b Z; Z t3 ?+3; Z Z ?+9; Z; _b t3; _b t3
   Z t3 ?+3; Z Z l1; t2;
l1:
   Z t2 l3
   t2; c2 Z; Z t2; Z
   Z Z l4
l3:
   t3; _a Z; Z t3 ?+3; Z Z ?+9; Z; _a t3; _a t3
   t1; inc t1; Z t3 ?+3; Z Z l2
   t4; _b Z; Z t4 ?+3; Z Z ?+9; Z; _b t4; _b t4
   Z t4 ?+3; Z Z l2; t1;
l2:
   t2; t1 Z; Z t2; Z
l4:
   t2 (-1)

   ?+8; sp ?+4; t4; 0 t4; inc sp
   ?+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

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

   Z Z (-1)

. c1:0 c2:50

. t1:0 t2:0 t3:0 t4:0

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

Root (mg_23_1.hsq:6)
   Declaration (mg_23_1.hsq:1)
      Keyword [int] (mg_23_1.hsq:1)
      Declarator [=] (mg_23_1.hsq:1)
         Id [a] (mg_23_1.hsq:1)
         Const [1] (mg_23_1.hsq:1)
      Declarator [=] (mg_23_1.hsq:1)
         Id [b] (mg_23_1.hsq:1)
         Const [0] (mg_23_1.hsq:1)
   Function:0 [main] (mg_23_1.hsq:2)
      Keyword [void] (mg_23_1.hsq:2)
      Param-type-list (mg_23_1.hsq:2)
      Block (mg_23_1.hsq:3)
         OperatorIO [__out] (mg_23_1.hsq:4)
            Conditional [?] (mg_23_1.hsq:4)
               Logical-Or [||] (mg_23_1.hsq:4)
                  Equality [!=] (mg_23_1.hsq:4)
                     Variable [a] (mg_23_1.hsq:4) =:1
                     Const [0] (mg_23_1.hsq:4)
                  Equality [!=] (mg_23_1.hsq:4)
                     Variable [b] (mg_23_1.hsq:4) =:1
                     Const [0] (mg_23_1.hsq:4)
               Const [50] (mg_23_1.hsq:4)
               Logical-Or [||] (mg_23_1.hsq:4)
                  Equality [!=] (mg_23_1.hsq:4)
                     Variable [a] (mg_23_1.hsq:4) =:1
                     Const [0] (mg_23_1.hsq:4)
                  Equality [!=] (mg_23_1.hsq:4)
                     Variable [b] (mg_23_1.hsq:4) =:1
                     Const [0] (mg_23_1.hsq:4)