Test: ml_2

Higher SubleqErrorOutputSubleqITR
void _putint(int);
int putchar(int);
void main()
{
   int a1 = _putint(123);
   putchar('\n');
   int a2 = _putint(0);
   putchar('\n');
   int a3 = _putint(-321);
   putchar('\n');
   _putint(a1); putchar(' ');
   _putint(a2); putchar(' ');
   _putint(a3); putchar(' ');
}


123
0
-321
3 1 4 

   top:top top sqmain

_main:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   c7 sp
   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
   ?+9; sp ?+5; c1 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   t1; ax t1
   c2 sp
   t2; t3; bp t2; dec t2; t2 t3
   ?+23; ?+21; ?+24; t3 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t1 Z; Z 0; Z

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _putchar; . ?;
   c2 sp

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c4 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   t1; ax t1
   c2 sp
   t2; t3; bp t2; c5 t2; t2 t3
   ?+23; ?+21; ?+24; t3 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t1 Z; Z 0; Z

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _putchar; . ?;
   c2 sp

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c6 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   t1; ax t1
   c2 sp
   t2; t3; bp t2; c7 t2; t2 t3
   ?+23; ?+21; ?+24; t3 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t1 Z; Z 0; Z

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _putchar; . ?;
   c2 sp

   t1; t2; bp t1; dec t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   c2 sp

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c8 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _putchar; . ?;
   c2 sp

   t1; t2; bp t1; c5 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   c2 sp

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c8 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _putchar; . ?;
   c2 sp

   t1; t2; bp t1; c7 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   c2 sp

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c8 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _putchar; . ?;
   c2 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

__putint:
   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; t2; bp t1; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; c4 Z; Z t2; Z; t3 t2
   Z t2 l1
   c9 (-1)

   t1; t2; bp t1; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t3 t2
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t2 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putintr; . ?;
   t2; ax t2
   c2 sp
   t3; t1; dec t3; t2 t3; t3 t1
   ax; t1 ax
   Z Z end__putint

l1:

   t2; t1; bp t2; c2 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t4 Z; Z t1; Z; c4 t1
   Z t1 l2
   t1; t2; bp t1; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putintr; . ?;
   t3; ax t3
   c2 sp
   ax; t3 ax
   Z Z end__putint
l2:

   c10 (-1)

   ax; dec ax
   Z Z end__putint

end__putint:
   ?+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

_putchar:
   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; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t3 (-1)
   ax; t3 ax
   Z Z end_putchar

end_putchar:
   ?+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

__putintr:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   c5 sp
   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; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t3 Z; Z t2; Z; c4 t2
   Z t2 l3
   t1; t2; bp t1; c5 t1; t1 t2
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t2 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c3 Z; Z 0; Z
   t2; t1; bp t2; c2 t2; t2 t1
   t2; t3; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t3
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __divMod; . ?;
   t3; ax t3
   c11 sp
   t1; t2; bp t1; dec t1; t1 t2
   ?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t3 Z; Z 0; Z

   t1; t2; bp t1; dec t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t3 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putintr; . ?;
   t3; ax t3
   c2 sp
   t2; t1; bp t2; dec t2; t2 t1
   ?+23; ?+21; ?+24; t1 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t3 Z; Z 0; Z

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

   t1; t2; bp t1; dec t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; t3 t2; dec t2; t2 t1
   ax; t1 ax
   Z Z end__putintr

l3:

   ax; c4 ax
   Z Z end__putintr

end__putintr:
   ?+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

__divMod:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   c13 sp
   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
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; t5 0

   t1; t2; bp t1; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c12 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t4 Z; Z t1; Z; t3 t1
   Z t1 l4
   t1; t2; bp t1; c2 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c11 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   ?+23; ?+21; ?+24; t4 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t3 Z; Z 0; Z

   ax; c4 ax
   Z Z end__divMod

l4:

   t1; t2; bp t1; c12 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; dec t2; t2 t1
   ?+23; ?+21; ?+24; t1 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t3 Z; Z 0; Z
   t3; t1; bp t3; c5 t3; t3 t1
   ?+23; ?+21; ?+24; t1 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; dec Z; Z 0; Z

l__divMod_next:
   t1; t2; bp t1; dec t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c7 t2; t2 t1
   ?+23; ?+21; ?+24; t1 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t3 Z; Z 0; Z

   t1; t2; bp t1; c5 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c13 t2; t2 t1
   ?+23; ?+21; ?+24; t1 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t3 Z; Z 0; Z

   t1; t2; bp t1; dec t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; dec t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t2; t3 t1; t4 t1; t1 t2
   t1; t4; bp t1; dec t1; t1 t4
   ?+23; ?+21; ?+24; t4 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t2 Z; Z 0; Z

   t1; t2; bp t1; c5 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c5 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t2; t3 t1; t4 t1; t1 t2
   t1; t4; bp t1; c5 t1; t1 t4
   ?+23; ?+21; ?+24; t4 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; t2 Z; Z 0; Z

   t5; t2; bp t5; c2 t5; t5 t2
   t5; t3; ?+11; t2 Z; Z ?+4; Z; 0 t5; t5 t3
   t2; t5; bp t2; dec t2; t2 t5
   t2; t1; ?+11; t5 Z; Z ?+4; Z; 0 t2; t2 t1
   t5; t1 Z; Z t5; Z; t3 t5
   Z t5 l5
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c11 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t4 Z; Z 0; Z
   t4; t1; bp t4; c12 t4; t4 t1
   t4; t2; ?+11; t1 Z; Z ?+4; Z; 0 t4; t4 t2
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t2 Z; Z 0; Z
   t2; t1; bp t2; c2 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t2; bp t1; c7 t1; t1 t2
   t1; t5; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t5
   t2; t4 Z; Z t2; Z; t5 t2
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t2 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __divMod; . ?;
   t2; ax t2
   c11 sp
   t5; t4; t3 t5; t2 t5; t5 t4
   ax; t4 ax
   Z Z end__divMod
l5:

   Z Z l__divMod_next

end__divMod:
   ?+8; sp ?+4; t5; 0 t5; inc sp
   ?+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)

. c2:-2 c12:-3 c6:-321 c11:-4 c4:0 c3:10 c1:123 c5:2 c7:3 c8:32 c13:4 c9:45 c10:48

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

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

Root (ml_2.hsq:15)
   Function:0 [_putint] (ml_2.hsq:1)
      Keyword [void] (ml_2.hsq:1)
      Param-type-list (ml_2.hsq:1)
         Stackvar:-2 (:0)
   Function:0 [putchar] (ml_2.hsq:2)
      Keyword [int] (ml_2.hsq:2)
      Param-type-list (ml_2.hsq:2)
         Stackvar:-2 (:0)
   Function:3 [main] (ml_2.hsq:3)
      Keyword [void] (ml_2.hsq:3)
      Param-type-list (ml_2.hsq:3)
      Block (ml_2.hsq:4)
         Declaration (ml_2.hsq:5)
            Keyword [int] (ml_2.hsq:5)
            Declarator [=] (ml_2.hsq:5)
               Stackvar:1 [a1] (ml_2.hsq:5)
               Postfix [(] (ml_2.hsq:5)
                  Label [_putint] (ml_2.hsq:5)
                  Expression-list (ml_2.hsq:5)
                     Const [123] (ml_2.hsq:5)
         Postfix [(] (ml_2.hsq:6)
            Label [putchar] (ml_2.hsq:6)
            Expression-list (ml_2.hsq:6)
               Const ['.'] (ml_2.hsq:6)
         Declaration (ml_2.hsq:7)
            Keyword [int] (ml_2.hsq:7)
            Declarator [=] (ml_2.hsq:7)
               Stackvar:2 [a2] (ml_2.hsq:7)
               Postfix [(] (ml_2.hsq:7)
                  Label [_putint] (ml_2.hsq:7) _putint:2
                  Expression-list (ml_2.hsq:7)
                     Const [0] (ml_2.hsq:7)
         Postfix [(] (ml_2.hsq:8)
            Label [putchar] (ml_2.hsq:8) putchar:1
            Expression-list (ml_2.hsq:8)
               Const ['.'] (ml_2.hsq:8)
         Declaration (ml_2.hsq:9)
            Keyword [int] (ml_2.hsq:9)
            Declarator [=] (ml_2.hsq:9)
               Stackvar:3 [a3] (ml_2.hsq:9)
               Postfix [(] (ml_2.hsq:9)
                  Label [_putint] (ml_2.hsq:9) _putint:2
                  Expression-list (ml_2.hsq:9)
                     Const [-321] (ml_2.hsq:9)
         Postfix [(] (ml_2.hsq:10)
            Label [putchar] (ml_2.hsq:10) putchar:1
            Expression-list (ml_2.hsq:10)
               Const ['.'] (ml_2.hsq:10)
         Postfix [(] (ml_2.hsq:11)
            Label [_putint] (ml_2.hsq:11) _putint:2
            Expression-list (ml_2.hsq:11)
               Unary [*] (ml_2.hsq:11) a1:5
                  Additive [+] (ml_2.hsq:11) a1:5
                     Variable [@bp] (ml_2.hsq:11) a1:5
                     Const [1] (ml_2.hsq:11) a1:5
         Postfix [(] (ml_2.hsq:11)
            Label [putchar] (ml_2.hsq:11) putchar:1
            Expression-list (ml_2.hsq:11)
               Const [' '] (ml_2.hsq:11)
         Postfix [(] (ml_2.hsq:12)
            Label [_putint] (ml_2.hsq:12) _putint:2
            Expression-list (ml_2.hsq:12)
               Unary [*] (ml_2.hsq:12) a2:7
                  Additive [+] (ml_2.hsq:12) a2:7
                     Variable [@bp] (ml_2.hsq:12) a2:7
                     Const [2] (ml_2.hsq:12) a2:7
         Postfix [(] (ml_2.hsq:12)
            Label [putchar] (ml_2.hsq:12) putchar:1
            Expression-list (ml_2.hsq:12)
               Const [' '] (ml_2.hsq:12)
         Postfix [(] (ml_2.hsq:13)
            Label [_putint] (ml_2.hsq:13) _putint:2
            Expression-list (ml_2.hsq:13)
               Unary [*] (ml_2.hsq:13) a3:9
                  Additive [+] (ml_2.hsq:13) a3:9
                     Variable [@bp] (ml_2.hsq:13) a3:9
                     Const [3] (ml_2.hsq:13) a3:9
         Postfix [(] (ml_2.hsq:13)
            Label [putchar] (ml_2.hsq:13) putchar:1
            Expression-list (ml_2.hsq:13)
               Const [' '] (ml_2.hsq:13)
   Function:0 [_putintr] (::_putint:1)
      Keyword [int] (::_putint:1)
      Param-type-list (::_putint:1)
         Stackvar:-2 [x] (::_putint:1)
   Function:0 [_putint] (::_putint:2)
      Keyword [int] (::_putint:2)
      Param-type-list (::_putint:2)
         Stackvar:-2 [x] (::_putint:2)
      Block (::_putint:3)
         Keyword-statement [if] (::_putint:4)
            Relational [<] (::_putint:4)
               Unary [*] (::_putint:4) x:2
                  Additive [+] (::_putint:4) x:2
                     Variable [@bp] (::_putint:4) x:2
                     Const [-2] (::_putint:4) x:2
               Const [0] (::_putint:4)
            Block (::_putint:5)
               OperatorIO [__out] (::_putint:6)
                  Const [45] (::_putint:6)
               Keyword-statement [return] (::_putint:7)
                  Additive [+] (::_putint:7)
                     Const [1] (::_putint:7)
                     Postfix [(] (::_putint:7)
                        Label [_putintr] (::_putint:7)
                        Expression-list (::_putint:7)
                           Unary [-] (::_putint:7)
                              Unary [*] (::_putint:7) x:2
                                 Additive [+] (::_putint:7) x:2
                                    Variable [@bp] (::_putint:7) x:2
                                    Const [-2] (::_putint:7) x:2
         Keyword-statement [if] (::_putint:9)
            Relational [>] (::_putint:9)
               Unary [*] (::_putint:9) x:2
                  Additive [+] (::_putint:9) x:2
                     Variable [@bp] (::_putint:9) x:2
                     Const [-2] (::_putint:9) x:2
               Const [0] (::_putint:9)
            Keyword-statement [return] (::_putint:10)
               Postfix [(] (::_putint:10)
                  Label [_putintr] (::_putint:10) _putintr:2
                  Expression-list (::_putint:10)
                     Unary [*] (::_putint:10) x:2
                        Additive [+] (::_putint:10) x:2
                           Variable [@bp] (::_putint:10) x:2
                           Const [-2] (::_putint:10) x:2
         OperatorIO [__out] (::_putint:12)
            Const [48] (::_putint:12)
         Keyword-statement [return] (::_putint:13)
            Const [1] (::_putint:13)
   Function:0 [putchar] (::putchar:1)
      Keyword [int] (::putchar:1)
      Param-type-list (::putchar:1)
         Stackvar:-2 [x] (::putchar:1)
      Block (::putchar:2)
         Keyword-statement [return] (::putchar:3)
            OperatorIO [__out] (::putchar:3)
               Unary [*] (::putchar:3) x:1
                  Additive [+] (::putchar:3) x:1
                     Variable [@bp] (::putchar:3) x:1
                     Const [-2] (::putchar:3) x:1
   Function:0 [_divMod] (::_putintr:1)
      Keyword [int] (::_putintr:1)
      Param-type-list (::_putintr:1)
         Stackvar:-2 [a] (::_putintr:1)
         Stackvar:-3 [b] (::_putintr:1)
         Stackvar:-4 [m] (::_putintr:1)
   Function:2 [_putintr] (::_putintr:2)
      Keyword [int] (::_putintr:2)
      Param-type-list (::_putintr:2)
         Stackvar:-2 [x] (::_putintr:2)
      Block (::_putintr:3)
         Keyword-statement [if] (::_putintr:4)
            Relational [>] (::_putintr:4)
               Unary [*] (::_putintr:4) x:2
                  Additive [+] (::_putintr:4) x:2
                     Variable [@bp] (::_putintr:4) x:2
                     Const [-2] (::_putintr:4) x:2
               Const [0] (::_putintr:4)
            Block (::_putintr:5)
               Declaration (::_putintr:6)
                  Keyword [int] (::_putintr:6)
                  Declarator [0] (::_putintr:6)
                     Stackvar:1 [i] (::_putintr:6)
                  Declarator [0] (::_putintr:6)
                     Stackvar:2 [j] (::_putintr:6)
               Assignment [=] (::_putintr:7)
                  Unary [*] (::_putintr:7) i:6
                     Additive [+] (::_putintr:7) i:6
                        Variable [@bp] (::_putintr:7) i:6
                        Const [1] (::_putintr:7) i:6
                  Postfix [(] (::_putintr:7)
                     Label [_divMod] (::_putintr:7)
                     Expression-list (::_putintr:7)
                        Unary [*] (::_putintr:7) x:2
                           Additive [+] (::_putintr:7) x:2
                              Variable [@bp] (::_putintr:7) x:2
                              Const [-2] (::_putintr:7) x:2
                        Const [10] (::_putintr:7)
                        Additive [+] (::_putintr:7) j:6
                           Variable [@bp] (::_putintr:7) j:6
                           Const [2] (::_putintr:7) j:6
               Assignment [=] (::_putintr:8)
                  Unary [*] (::_putintr:8) i:6
                     Additive [+] (::_putintr:8) i:6
                        Variable [@bp] (::_putintr:8) i:6
                        Const [1] (::_putintr:8) i:6
                  Postfix [(] (::_putintr:8)
                     Label [_putintr] (::_putintr:8) _putintr:2
                     Expression-list (::_putintr:8)
                        Unary [*] (::_putintr:8) i:6
                           Additive [+] (::_putintr:8) i:6
                              Variable [@bp] (::_putintr:8) i:6
                              Const [1] (::_putintr:8) i:6
               OperatorIO [__out] (::_putintr:9)
                  Additive [+] (::_putintr:9)
                     Const [48] (::_putintr:9)
                     Unary [*] (::_putintr:9) j:6
                        Additive [+] (::_putintr:9) j:6
                           Variable [@bp] (::_putintr:9) j:6
                           Const [2] (::_putintr:9) j:6
               Keyword-statement [return] (::_putintr:10)
                  Additive [+] (::_putintr:10)
                     Unary [*] (::_putintr:10) i:6
                        Additive [+] (::_putintr:10) i:6
                           Variable [@bp] (::_putintr:10) i:6
                           Const [1] (::_putintr:10) i:6
                     Const [1] (::_putintr:10)
         Keyword-statement [return] (::_putintr:12)
            Const [0] (::_putintr:12)
   Function:4 [_divMod] (::_divMod:1)
      Keyword [int] (::_divMod:1)
      Param-type-list (::_divMod:1)
         Stackvar:-2 [a] (::_divMod:1)
         Stackvar:-3 [b] (::_divMod:1)
         Stackvar:-4 [j] (::_divMod:1)
      Block (::_divMod:2)
         Keyword-statement [if] (::_divMod:3)
            Relational [<] (::_divMod:3)
               Unary [*] (::_divMod:3) a:1
                  Additive [+] (::_divMod:3) a:1
                     Variable [@bp] (::_divMod:3) a:1
                     Const [-2] (::_divMod:3) a:1
               Unary [*] (::_divMod:3) b:1
                  Additive [+] (::_divMod:3) b:1
                     Variable [@bp] (::_divMod:3) b:1
                     Const [-3] (::_divMod:3) b:1
            Block (::_divMod:3)
               Assignment [=] (::_divMod:3)
                  Unary [*] (::_divMod:3)
                     Unary [*] (::_divMod:3) j:1
                        Additive [+] (::_divMod:3) j:1
                           Variable [@bp] (::_divMod:3) j:1
                           Const [-4] (::_divMod:3) j:1
                  Unary [*] (::_divMod:3) a:1
                     Additive [+] (::_divMod:3) a:1
                        Variable [@bp] (::_divMod:3) a:1
                        Const [-2] (::_divMod:3) a:1
               Keyword-statement [return] (::_divMod:3)
                  Const [0] (::_divMod:3)
         Declaration (::_divMod:5)
            Keyword [int] (::_divMod:5)
            Declarator [=] (::_divMod:5)
               Stackvar:1 [b1] (::_divMod:5)
               Unary [*] (::_divMod:5) b:1
                  Additive [+] (::_divMod:5) b:1
                     Variable [@bp] (::_divMod:5) b:1
                     Const [-3] (::_divMod:5) b:1
            Declarator [=] (::_divMod:5)
               Stackvar:2 [i] (::_divMod:5)
               Const [1] (::_divMod:5)
            Declarator [0] (::_divMod:5)
               Stackvar:3 [bp] (::_divMod:5)
            Declarator [0] (::_divMod:5)
               Stackvar:4 [ip] (::_divMod:5)
         Label-statement [next] (::_divMod:7)
            Assignment [=] (::_divMod:8)
               Unary [*] (::_divMod:8) bp:5
                  Additive [+] (::_divMod:8) bp:5
                     Variable [@bp] (::_divMod:8) bp:5
                     Const [3] (::_divMod:8) bp:5
               Unary [*] (::_divMod:8) b1:5
                  Additive [+] (::_divMod:8) b1:5
                     Variable [@bp] (::_divMod:8) b1:5
                     Const [1] (::_divMod:8) b1:5
         Assignment [=] (::_divMod:8)
            Unary [*] (::_divMod:8) ip:5
               Additive [+] (::_divMod:8) ip:5
                  Variable [@bp] (::_divMod:8) ip:5
                  Const [4] (::_divMod:8) ip:5
            Unary [*] (::_divMod:8) i:5
               Additive [+] (::_divMod:8) i:5
                  Variable [@bp] (::_divMod:8) i:5
                  Const [2] (::_divMod:8) i:5
         Assignment [=] (::_divMod:9)
            Unary [*] (::_divMod:9) b1:5
               Additive [+] (::_divMod:9) b1:5
                  Variable [@bp] (::_divMod:9) b1:5
                  Const [1] (::_divMod:9) b1:5
            Additive [+] (::_divMod:9)
               Unary [*] (::_divMod:9) b1:5
                  Additive [+] (::_divMod:9) b1:5
                     Variable [@bp] (::_divMod:9) b1:5
                     Const [1] (::_divMod:9) b1:5
               Unary [*] (::_divMod:9) b1:5
                  Additive [+] (::_divMod:9) b1:5
                     Variable [@bp] (::_divMod:9) b1:5
                     Const [1] (::_divMod:9) b1:5
         Assignment [=] (::_divMod:9)
            Unary [*] (::_divMod:9) i:5
               Additive [+] (::_divMod:9) i:5
                  Variable [@bp] (::_divMod:9) i:5
                  Const [2] (::_divMod:9) i:5
            Additive [+] (::_divMod:9)
               Unary [*] (::_divMod:9) i:5
                  Additive [+] (::_divMod:9) i:5
                     Variable [@bp] (::_divMod:9) i:5
                     Const [2] (::_divMod:9) i:5
               Unary [*] (::_divMod:9) i:5
                  Additive [+] (::_divMod:9) i:5
                     Variable [@bp] (::_divMod:9) i:5
                     Const [2] (::_divMod:9) i:5
         Keyword-statement [if] (::_divMod:11)
            Relational [<] (::_divMod:11)
               Unary [*] (::_divMod:11) a:1
                  Additive [+] (::_divMod:11) a:1
                     Variable [@bp] (::_divMod:11) a:1
                     Const [-2] (::_divMod:11) a:1
               Unary [*] (::_divMod:11) b1:5
                  Additive [+] (::_divMod:11) b1:5
                     Variable [@bp] (::_divMod:11) b1:5
                     Const [1] (::_divMod:11) b1:5
            Keyword-statement [return] (::_divMod:12)
               Additive [+] (::_divMod:12)
                  Unary [*] (::_divMod:12) ip:5
                     Additive [+] (::_divMod:12) ip:5
                        Variable [@bp] (::_divMod:12) ip:5
                        Const [4] (::_divMod:12) ip:5
                  Postfix [(] (::_divMod:12)
                     Label [_divMod] (::_divMod:12) _divMod:1
                     Expression-list (::_divMod:12)
                        Additive [-] (::_divMod:12)
                           Unary [*] (::_divMod:12) a:1
                              Additive [+] (::_divMod:12) a:1
                                 Variable [@bp] (::_divMod:12) a:1
                                 Const [-2] (::_divMod:12) a:1
                           Unary [*] (::_divMod:12) bp:5
                              Additive [+] (::_divMod:12) bp:5
                                 Variable [@bp] (::_divMod:12) bp:5
                                 Const [3] (::_divMod:12) bp:5
                        Unary [*] (::_divMod:12) b:1
                           Additive [+] (::_divMod:12) b:1
                              Variable [@bp] (::_divMod:12) b:1
                              Const [-3] (::_divMod:12) b:1
                        Unary [*] (::_divMod:12) j:1
                           Additive [+] (::_divMod:12) j:1
                              Variable [@bp] (::_divMod:12) j:1
                              Const [-4] (::_divMod:12) j:1
         Keyword-statement [goto] (::_divMod:14)
            Label [next] (::_divMod:14) next:7