Test: ml_5

Higher SubleqErrorOutputSubleqITR
int printf();
int k;
void main()
{
   k = printf("%% %c %s %d",'A',"hi",123);
   printf(" %d\n",k);
}



% A hi 123 10

   top:top top sqmain

.  _k: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; c1 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
   ?+9; sp ?+5; c4 Z; Z 0; Z
   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 _printf; . ?;
   t1; ax t1
   c7 sp
   _k; t1 Z; Z _k; Z

   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; _k Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; c9 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 _printf; . ?;
   c10 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

_printf:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   c12 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

   t1; t2; bp t1; dec t1; t1 t2
   ?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; c11 Z; Z 0; Z

   t1; t2; bp t1; c12 t1; t1 t2
   ?+23; ?+21; ?+24; t2 Z; Z ?+10; Z ?+8
   Z ?+11; Z; 0; c11 Z; Z 0; Z
l1:
   t2; t1; bp t2; dec t2; t2 t1
   t1 Z; ?+9; Z ?+5; Z; inc 0
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; ?+11; t3 Z; Z ?+4; Z; 0 t2; t2 t1
   t3; t1 Z; Z t3 ?+3; Z Z ?+9; Z; t1 t3; t1 t3
   Z t3 l3
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; ?+11; t3 Z; Z ?+4; Z; 0 t2; t2 t1
   t3; t1 Z; Z t3; c14 t3 ?+3; Z Z ?+15
   Z; t3 Z ?+9; Z; t3; inc t3
   Z t3 l4
   t2; t1; bp t2; c13 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t2; ?+11; t4 Z; Z ?+4; Z; 0 t1; t1 t2
   t2 (-1)

   Z Z l2


l4:

   t1; t2; bp t1; c13 t1; t1 t2
   t2 Z; ?+9; Z ?+5; Z; inc 0

   t1; t2; bp t1; c13 t1; t1 t2
   t1; t4; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t4
   t2; t1; ?+11; t4 Z; Z ?+4; Z; 0 t2; t2 t1
   t4; t1 Z; Z t4; Z; c14 t4 ?+3
   t4 t4 ?+9; t4 Z ?+3; Z Z ?+3; inc t4
   Z t4 l10
   c14 (-1)
   Z Z l11
l10:
   t2; t4; bp t2; c13 t2; t2 t4
   t2; t1; ?+11; t4 Z; Z ?+4; Z; 0 t2; t2 t1
   t4; t2; ?+11; t1 Z; Z ?+4; Z; 0 t4; t4 t2
   t1; t2 Z; Z t1; Z; c17 t1 ?+3
   t1 t1 ?+9; t1 Z ?+3; Z Z ?+3; inc t1
   Z t1 l8
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t3; bp t1; c12 t1; t1 t3
   t3 Z; ?+9; Z ?+5; Z; inc 0
   t1; t4; ?+11; t3 Z; Z ?+4; Z; 0 t1; t1 t4
   t3; t2 Z; Z t3; Z; t4 t3
   t4; t2; ?+11; t3 Z; Z ?+4; Z; 0 t4; t4 t2
   t2 (-1)
   Z Z l9
l8:
   t4; t1; bp t4; c13 t4; t4 t1
   t4; t2; ?+11; t1 Z; Z ?+4; Z; 0 t4; t4 t2
   t1; t4; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t4
   t2; t4 Z; Z t2; Z; c16 t2 ?+3
   t2 t2 ?+9; t2 Z ?+3; Z Z ?+3; inc t2
   Z t2 l6
   t2; t3; bp t2; c13 t2; t2 t3
   t2; t4; bp t2; c12 t2; t2 t4
   t4 Z; ?+9; Z ?+5; Z; inc 0
   t2; t1; ?+11; t4 Z; Z ?+4; Z; 0 t2; t2 t1
   t4; t3 Z; Z t4; Z; t1 t4
   t1; t3; ?+11; t4 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 _puts; . ?;
   t3; ax t3
   c13 sp
   t4; t1; bp t4; dec t4; t4 t1
   t1 Z; ?+9; Z ?+5; Z; dec 0
   ?+15; t1 Z; Z ?+8; Z
   t3 Z; Z 0; Z
   Z Z l7
l6:
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t4; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t4
   t2; t1; ?+11; t4 Z; Z ?+4; Z; 0 t2; t2 t1
   t4; t1 Z; Z t4; Z; c15 t4 ?+3
   t4 t4 ?+9; t4 Z ?+3; Z Z ?+3; inc t4
   Z t4 l5
   t3; t1; bp t3; c13 t3; t3 t1
   t3; t4; bp t3; c12 t3; t3 t4
   t4 Z; ?+9; Z ?+5; Z; inc 0
   t3; t2; ?+11; t4 Z; Z ?+4; Z; 0 t3; t3 t2
   t4; t1 Z; Z t4; Z; t2 t4
   t2; t1; ?+11; t4 Z; Z ?+4; Z; 0 t2; t2 t1
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+9; sp ?+5; t1 Z; Z 0; Z
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; ?+2 0 __putint; . ?;
   t1; ax t1
   c13 sp
   t4; t2; bp t4; dec t4; t4 t2
   t2 Z; ?+9; Z ?+5; Z; dec 0
   ?+15; t2 Z; Z ?+8; Z
   t1 Z; Z 0; Z
l5:
l7:
l9:
l11:

l2:
   t1; t2; bp t1; c13 t1; t1 t2
   t2 Z; ?+9; Z ?+5; Z; inc 0
   Z Z l1
l3:

   t1; t2; bp t1; dec t1; t1 t2
   t2 Z; ?+9; Z ?+5; Z; dec 0
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   ax; t3 ax
   Z Z end_printf

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

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

   t1; t2; bp t1; c13 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

l12:
   t1; t3; bp t1; c13 t1; t1 t3
   t1; t2; ?+11; t3 Z; Z ?+4; Z; 0 t1; t1 t2
   t3; t1; ?+11; t2 Z; Z ?+4; Z; 0 t3; t3 t1
   t2; t1 Z; Z t2 ?+3; Z Z ?+9; Z; t1 t2; t1 t2
   Z t2 l13
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2 Z; ?+9; Z ?+5; Z; inc 0
   t2; t1; ?+11; t3 Z; Z ?+4; Z; 0 t2; t2 t1
   t1 (-1)
   Z Z l12
l13:

   t1; t2; bp t1; c13 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; t3 Z; Z t1; Z; t4 t1
   ax; t1 ax
   Z Z end_puts

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

__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; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; c11 Z; Z t2; Z; t3 t2
   Z t2 l14
   c18 (-1)

   t1; t2; bp t1; c13 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
   c13 sp
   t3; t1; dec t3; t2 t3; t3 t1
   ax; t1 ax
   Z Z end__putint

l14:

   t2; t1; bp t2; c13 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t4 Z; Z t1; Z; c11 t1
   Z t1 l15
   t1; t2; bp t1; c13 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
   c13 sp
   ax; t3 ax
   Z Z end__putint
l15:

   c19 (-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

__putintr:
   dec sp; ?+11; sp ?+7; ?+6; sp ?+2; 0
   ?+6; sp ?+2; bp 0
   bp; sp bp
   c12 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; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t3 Z; Z t2; Z; c11 t2
   Z t2 l16
   t1; t2; bp t1; c12 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; c20 Z; Z 0; Z
   t2; t1; bp t2; c13 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
   c21 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
   c13 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; c12 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; c19 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

l16:

   ax; c11 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
   c23 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; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c10 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 l17
   t1; t2; bp t1; c13 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c21 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; c11 ax
   Z Z end__divMod

l17:

   t1; t2; bp t1; c10 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; c12 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; c22 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; c12 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c23 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; c12 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; t2; t3 t1; t4 t1; t1 t2
   t1; t4; bp t1; c12 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; c13 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 l18
   t1; t2; bp t1; c23 t1; t1 t2
   t1; t3; ?+11; t2 Z; Z ?+4; Z; 0 t1; t1 t3
   t2; t1; bp t2; c21 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; c10 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; c13 t2; t2 t1
   t2; t4; ?+11; t1 Z; Z ?+4; Z; 0 t2; t2 t4
   t1; t2; bp t1; c22 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
   c21 sp
   t5; t4; t3 t5; t2 t5; t5 t4
   ax; t4 ax
   Z Z end__divMod
l18:

   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)

. c13:-2 c10:-3 c21:-4 c7:-5 c11:0 c20:10 c15:100 c2:104 105 0 c16:115 c1:123 c12:2 c22:3 c8:32 37 100 10 0 c14:37 c5:37 37 32 37 99 32 37 115 32 37 100 0 c23:4 c18:45 c19:48 c4:65 c17:99 c3:c2 c6:c5 c9:c8

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

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

Root (ml_5.hsq:9)
   Function:0 [printf] (ml_5.hsq:1)
      Keyword [int] (ml_5.hsq:1)
      Param-type-list (ml_5.hsq:1)
   Declaration (ml_5.hsq:2)
      Keyword [int] (ml_5.hsq:2)
      Declarator [0] (ml_5.hsq:2)
         Id [k] (ml_5.hsq:2)
   Function:0 [main] (ml_5.hsq:3)
      Keyword [void] (ml_5.hsq:3)
      Param-type-list (ml_5.hsq:3)
      Block (ml_5.hsq:4)
         Assignment [=] (ml_5.hsq:5)
            Variable [k] (ml_5.hsq:5) 0:2
            Postfix [(] (ml_5.hsq:5)
               Label [printf] (ml_5.hsq:5)
               Expression-list (ml_5.hsq:5)
                  String [%% %c %s %d] (ml_5.hsq:5)
                  Const ['A'] (ml_5.hsq:5)
                  String [hi] (ml_5.hsq:5)
                  Const [123] (ml_5.hsq:5)
         Postfix [(] (ml_5.hsq:6)
            Label [printf] (ml_5.hsq:6) printf:3
            Expression-list (ml_5.hsq:6)
               String [ %d.] (ml_5.hsq:6)
               Variable [k] (ml_5.hsq:6) 0:2
   Function:0 [puts] (::printf:1)
      Keyword [int] (::printf:1)
      Param-type-list (::printf:1)
         Stackvar:-2 [s] (::printf:1)
   Function:0 [_putint] (::printf:2)
      Keyword [int] (::printf:2)
      Param-type-list (::printf:2)
         Stackvar:-2 [i] (::printf:2)
   Function:2 [printf] (::printf:3)
      Keyword [int] (::printf:3)
      Param-type-list (::printf:3)
         Stackvar:-2 [s] (::printf:3)
      Block (::printf:4)
         Declaration (::printf:5)
            Keyword [int] (::printf:5)
            Declarator [=] (::printf:5)
               Stackvar:1 [k] (::printf:5)
               Const [0] (::printf:5)
         Keyword-statement [for] (::printf:6)
            Declaration (::printf:6)
               Keyword [int] (::printf:6)
               Declarator [=] (::printf:6)
                  Stackvar:2 [i] (::printf:6)
                  Const [0] (::printf:6)
            Equality [!=] (::printf:6)
               Expression [,] (::printf:6)
                  Unary [++] (::printf:6)
                     Unary [*] (::printf:6) k:5
                        Additive [+] (::printf:6) k:5
                           Variable [@bp] (::printf:6) k:5
                           Const [1] (::printf:6) k:5
                  Unary [*] (::printf:6)
                     Unary [*] (::printf:6) s:3
                        Additive [+] (::printf:6) s:3
                           Variable [@bp] (::printf:6) s:3
                           Const [-2] (::printf:6) s:3
               Const [0] (::printf:6)
            Postfix [++] (::printf:6)
               Unary [*] (::printf:6) s:3
                  Additive [+] (::printf:6) s:3
                     Variable [@bp] (::printf:6) s:3
                     Const [-2] (::printf:6) s:3
            Block (::printf:7)
               Keyword-statement [if] (::printf:8)
                  Equality [!=] (::printf:8)
                     Unary [*] (::printf:8)
                        Unary [*] (::printf:8) s:3
                           Additive [+] (::printf:8) s:3
                              Variable [@bp] (::printf:8) s:3
                              Const [-2] (::printf:8) s:3
                     Const ['%'] (::printf:8)
                  Block (::printf:8)
                     OperatorIO [__out] (::printf:8)
                        Unary [*] (::printf:8)
                           Unary [*] (::printf:8) s:3
                              Additive [+] (::printf:8) s:3
                                 Variable [@bp] (::printf:8) s:3
                                 Const [-2] (::printf:8) s:3
                     Keyword-statement [continue] (::printf:8)
               Unary [++] (::printf:9)
                  Unary [*] (::printf:9) s:3
                     Additive [+] (::printf:9) s:3
                        Variable [@bp] (::printf:9) s:3
                        Const [-2] (::printf:9) s:3
               Keyword-statement [if] (::printf:10)
                  Equality [==] (::printf:10)
                     Unary [*] (::printf:10)
                        Unary [*] (::printf:10) s:3
                           Additive [+] (::printf:10) s:3
                              Variable [@bp] (::printf:10) s:3
                              Const [-2] (::printf:10) s:3
                     Const ['%'] (::printf:10)
                  OperatorIO [__out] (::printf:10)
                     Const ['%'] (::printf:10)
                  Keyword-statement [if] (::printf:11)
                     Equality [==] (::printf:11)
                        Unary [*] (::printf:11)
                           Unary [*] (::printf:11) s:3
                              Additive [+] (::printf:11) s:3
                                 Variable [@bp] (::printf:11) s:3
                                 Const [-2] (::printf:11) s:3
                        Const ['c'] (::printf:11)
                     OperatorIO [__out] (::printf:11)
                        Unary [*] (::printf:11)
                           Additive [-] (::printf:11)
                              Additive [+] (::printf:11) s:3
                                 Variable [@bp] (::printf:11) s:3
                                 Const [-2] (::printf:11) s:3
                              Unary [++] (::printf:11)
                                 Unary [*] (::printf:11) i:6
                                    Additive [+] (::printf:11) i:6
                                       Variable [@bp] (::printf:11) i:6
                                       Const [2] (::printf:11) i:6
                     Keyword-statement [if] (::printf:12)
                        Equality [==] (::printf:12)
                           Unary [*] (::printf:12)
                              Unary [*] (::printf:12) s:3
                                 Additive [+] (::printf:12) s:3
                                    Variable [@bp] (::printf:12) s:3
                                    Const [-2] (::printf:12) s:3
                           Const ['s'] (::printf:12)
                        Assignment [+=] (::printf:12)
                           Unary [--] (::printf:12)
                              Unary [*] (::printf:12) k:5
                                 Additive [+] (::printf:12) k:5
                                    Variable [@bp] (::printf:12) k:5
                                    Const [1] (::printf:12) k:5
                           Postfix [(] (::printf:12)
                              Label [puts] (::printf:12)
                              Expression-list (::printf:12)
                                 Unary [*] (::printf:12)
                                    Additive [-] (::printf:12)
                                       Additive [+] (::printf:12) s:3
                                          Variable [@bp] (::printf:12) s:3
                                          Const [-2] (::printf:12) s:3
                                       Unary [++] (::printf:12)
                                          Unary [*] (::printf:12) i:6
                                             Additive [+] (::printf:12) i:6
                                                Variable [@bp] (::printf:12) i:6
                                                Const [2] (::printf:12) i:6
                        Keyword-statement [if] (::printf:13)
                           Equality [==] (::printf:13)
                              Unary [*] (::printf:13)
                                 Unary [*] (::printf:13) s:3
                                    Additive [+] (::printf:13) s:3
                                       Variable [@bp] (::printf:13) s:3
                                       Const [-2] (::printf:13) s:3
                              Const ['d'] (::printf:13)
                           Assignment [+=] (::printf:13)
                              Unary [--] (::printf:13)
                                 Unary [*] (::printf:13) k:5
                                    Additive [+] (::printf:13) k:5
                                       Variable [@bp] (::printf:13) k:5
                                       Const [1] (::printf:13) k:5
                              Postfix [(] (::printf:13)
                                 Label [_putint] (::printf:13)
                                 Expression-list (::printf:13)
                                    Unary [*] (::printf:13)
                                       Additive [-] (::printf:13)
                                          Additive [+] (::printf:13) s:3
                                             Variable [@bp] (::printf:13) s:3
                                             Const [-2] (::printf:13) s:3
                                          Unary [++] (::printf:13)
                                             Unary [*] (::printf:13) i:6
                                                Additive [+] (::printf:13) i:6
                                                   Variable [@bp] (::printf:13) i:6
                                                   Const [2] (::printf:13) i:6
         Keyword-statement [return] (::printf:15)
            Unary [--] (::printf:15)
               Unary [*] (::printf:15) k:5
                  Additive [+] (::printf:15) k:5
                     Variable [@bp] (::printf:15) k:5
                     Const [1] (::printf:15) k:5
   Function:1 [puts] (::puts:1)
      Keyword [int] (::puts:1)
      Param-type-list (::puts:1)
         Stackvar:-2 [s] (::puts:1)
      Block (::puts:2)
         Declaration (::puts:3)
            Keyword [int] (::puts:3)
            Declarator [=] (::puts:3)
               Stackvar:1 [p] (::puts:3)
               Unary [*] (::puts:3) s:1
                  Additive [+] (::puts:3) s:1
                     Variable [@bp] (::puts:3) s:1
                     Const [-2] (::puts:3) s:1
         Keyword-statement [while] (::puts:4)
            Equality [!=] (::puts:4)
               Unary [*] (::puts:4)
                  Unary [*] (::puts:4) s:1
                     Additive [+] (::puts:4) s:1
                        Variable [@bp] (::puts:4) s:1
                        Const [-2] (::puts:4) s:1
               Const [0] (::puts:4)
            OperatorIO [__out] (::puts:4)
               Unary [*] (::puts:4)
                  Postfix [++] (::puts:4)
                     Unary [*] (::puts:4) s:1
                        Additive [+] (::puts:4) s:1
                           Variable [@bp] (::puts:4) s:1
                           Const [-2] (::puts:4) s:1
         Keyword-statement [return] (::puts:5)
            Additive [-] (::puts:5)
               Unary [*] (::puts:5) s:1
                  Additive [+] (::puts:5) s:1
                     Variable [@bp] (::puts:5) s:1
                     Const [-2] (::puts:5) s:1
               Unary [*] (::puts:5) p:3
                  Additive [+] (::puts:5) p:3
                     Variable [@bp] (::puts:5) p:3
                     Const [1] (::puts:5) p:3
   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 [_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