Fixing struct type size struct printf_buffer_number to 12
Fixing struct type size struct printf_buffer_number to 12
Fixing struct type size struct printf_buffer_number to 12
Fixing struct type SIZE_OF struct printf_buffer_number to 12
Fixing struct type SIZE_OF struct printf_buffer_number to 12
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, " - n queens problem using backtracking -")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
number of queens:")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_uint(&cputc, 8, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "

solutions: ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_ulong(&cputc, count, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
#")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_ulong(&cputc, count, { 0, 0, 0, 0, 0, DECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, ":
 ")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_uchar(&cputc, print::i, { 0, 0, 0, 0, 0, HEXADECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "
")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_uchar(&cputc, print::i1, { 0, 0, 0, 0, 0, HEXADECIMAL })
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "Q")
Setting inferred __stackcall on procedure affected by address-of __stackcall void cputc(char c) caused by statement call printf_str(&cputc, "-")
Adding parameter assignment in __stackcall procedure cputc::c = param(cputc::c)
Added struct type cast to parameter value list call printf_uint(&cputc, 8, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_ulong(&cputc, count, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_ulong(&cputc, count, (struct printf_format_number){ 0, 0, 0, 0, 0, DECIMAL })
Added struct type cast to parameter value list call printf_uchar(&cputc, print::i, (struct printf_format_number){ 0, 0, 0, 0, 0, HEXADECIMAL })
Added struct type cast to parameter value list call printf_uchar(&cputc, print::i1, (struct printf_format_number){ 0, 0, 0, 0, 0, HEXADECIMAL })
Inlined call vicSelectGfxBank::$0 = call toDd00(vicSelectGfxBank::gfx)
Inlined call legal::$3 = call diff(board[legal::i], legal::column)
Inlined call legal::$4 = call diff(legal::i, legal::row)
Inlined call call __init
Eliminating unused variable with no statement memcpy::$0
Eliminating unused variable with no statement memset::$2
Eliminating unused variable with no statement gotoxy::$4
Eliminating unused variable with no statement main::$1
Eliminating unused variable with no statement main::$2
Eliminating unused variable with no statement main::$4
Eliminating unused variable with no statement print::$1
Eliminating unused variable with no statement print::$3
Eliminating unused variable with no statement print::$5
Eliminating unused variable with no statement print::$8
Eliminating unused variable with no statement print::$9
Calling convention STACK_CALL adding prepare/execute/finalize for call *printf_str::putc printf_str::c 
Calling convention STACK_CALL adding prepare/execute/finalize for call *printf_padding::putc printf_padding::pad 
Calling convention STACK_CALL adding prepare/execute/finalize for call *printf_number_buffer::putc printf_number_buffer::buffer_sign 
Calling convention STACK_CALL replacing param(cputc::c) with stackidx(char,cputc::OFFSET_STACK_C)
Calling convention STACK_CALL adding stack push stackpush(char) = printf_str::c
Calling convention STACK_CALL adding stack push stackpush(char) = printf_padding::pad
Calling convention STACK_CALL adding stack push stackpush(char) = printf_number_buffer::buffer_sign

CONTROL FLOW GRAPH SSA

void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy]  from cscroll::@3 cscroll::@4
  memcpy::num#2 = phi( cscroll::@3/memcpy::num#0, cscroll::@4/memcpy::num#1 )
  memcpy::destination#2 = phi( cscroll::@3/memcpy::destination#0, cscroll::@4/memcpy::destination#1 )
  memcpy::source#2 = phi( cscroll::@3/memcpy::source#0, cscroll::@4/memcpy::source#1 )
  memcpy::src#0 = ((char *)) memcpy::source#2
  memcpy::dst#0 = ((char *)) memcpy::destination#2
  memcpy::$2 = (char *)memcpy::source#2
  memcpy::src_end#0 = memcpy::$2 + memcpy::num#2
  to:memcpy::@1
memcpy::@1: scope:[memcpy]  from memcpy memcpy::@2
  memcpy::destination#4 = phi( memcpy/memcpy::destination#2, memcpy::@2/memcpy::destination#5 )
  memcpy::dst#3 = phi( memcpy/memcpy::dst#0, memcpy::@2/memcpy::dst#1 )
  memcpy::src_end#1 = phi( memcpy/memcpy::src_end#0, memcpy::@2/memcpy::src_end#2 )
  memcpy::src#2 = phi( memcpy/memcpy::src#0, memcpy::@2/memcpy::src#1 )
  memcpy::$1 = memcpy::src#2 != memcpy::src_end#1
  if(memcpy::$1) goto memcpy::@2
  to:memcpy::@3
memcpy::@2: scope:[memcpy]  from memcpy::@1
  memcpy::destination#5 = phi( memcpy::@1/memcpy::destination#4 )
  memcpy::src_end#2 = phi( memcpy::@1/memcpy::src_end#1 )
  memcpy::dst#2 = phi( memcpy::@1/memcpy::dst#3 )
  memcpy::src#3 = phi( memcpy::@1/memcpy::src#2 )
  *memcpy::dst#2 = *memcpy::src#3
  memcpy::dst#1 = ++ memcpy::dst#2
  memcpy::src#1 = ++ memcpy::src#3
  to:memcpy::@1
memcpy::@3: scope:[memcpy]  from memcpy::@1
  memcpy::destination#3 = phi( memcpy::@1/memcpy::destination#4 )
  memcpy::return#0 = memcpy::destination#3
  to:memcpy::@return
memcpy::@return: scope:[memcpy]  from memcpy::@3
  memcpy::return#4 = phi( memcpy::@3/memcpy::return#0 )
  memcpy::return#1 = memcpy::return#4
  return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from cscroll::@5 cscroll::@6
  memset::c#5 = phi( cscroll::@5/memset::c#0, cscroll::@6/memset::c#1 )
  memset::str#4 = phi( cscroll::@5/memset::str#0, cscroll::@6/memset::str#1 )
  memset::num#2 = phi( cscroll::@5/memset::num#0, cscroll::@6/memset::num#1 )
  memset::$0 = memset::num#2 > 0
  memset::$1 = ! memset::$0
  if(memset::$1) goto memset::@1
  to:memset::@2
memset::@1: scope:[memset]  from memset memset::@3
  memset::str#2 = phi( memset/memset::str#4, memset::@3/memset::str#5 )
  memset::return#0 = memset::str#2
  to:memset::@return
memset::@2: scope:[memset]  from memset
  memset::c#4 = phi( memset/memset::c#5 )
  memset::num#3 = phi( memset/memset::num#2 )
  memset::str#3 = phi( memset/memset::str#4 )
  memset::$4 = (char *)memset::str#3
  memset::end#0 = memset::$4 + memset::num#3
  memset::dst#0 = ((char *)) memset::str#3
  to:memset::@3
memset::@3: scope:[memset]  from memset::@2 memset::@4
  memset::c#3 = phi( memset::@2/memset::c#4, memset::@4/memset::c#2 )
  memset::str#5 = phi( memset::@2/memset::str#3, memset::@4/memset::str#6 )
  memset::end#1 = phi( memset::@2/memset::end#0, memset::@4/memset::end#2 )
  memset::dst#2 = phi( memset::@2/memset::dst#0, memset::@4/memset::dst#1 )
  memset::$3 = memset::dst#2 != memset::end#1
  if(memset::$3) goto memset::@4
  to:memset::@1
memset::@4: scope:[memset]  from memset::@3
  memset::str#6 = phi( memset::@3/memset::str#5 )
  memset::end#2 = phi( memset::@3/memset::end#1 )
  memset::dst#3 = phi( memset::@3/memset::dst#2 )
  memset::c#2 = phi( memset::@3/memset::c#3 )
  *memset::dst#3 = memset::c#2
  memset::dst#1 = ++ memset::dst#3
  to:memset::@3
memset::@return: scope:[memset]  from memset::@1
  memset::return#4 = phi( memset::@1/memset::return#0 )
  memset::return#1 = memset::return#4
  return 
  to:@return

unsigned int strlen(char *str)
strlen: scope:[strlen]  from printf_number_buffer::@6
  strlen::str#4 = phi( printf_number_buffer::@6/strlen::str#1 )
  strlen::len#0 = 0
  to:strlen::@1
strlen::@1: scope:[strlen]  from strlen strlen::@2
  strlen::len#4 = phi( strlen/strlen::len#0, strlen::@2/strlen::len#1 )
  strlen::str#2 = phi( strlen/strlen::str#4, strlen::@2/strlen::str#0 )
  strlen::$0 = 0 != *strlen::str#2
  if(strlen::$0) goto strlen::@2
  to:strlen::@3
strlen::@2: scope:[strlen]  from strlen::@1
  strlen::str#3 = phi( strlen::@1/strlen::str#2 )
  strlen::len#2 = phi( strlen::@1/strlen::len#4 )
  strlen::len#1 = ++ strlen::len#2
  strlen::str#0 = ++ strlen::str#3
  to:strlen::@1
strlen::@3: scope:[strlen]  from strlen::@1
  strlen::len#3 = phi( strlen::@1/strlen::len#4 )
  strlen::return#0 = strlen::len#3
  to:strlen::@return
strlen::@return: scope:[strlen]  from strlen::@3
  strlen::return#3 = phi( strlen::@3/strlen::return#0 )
  strlen::return#1 = strlen::return#3
  return 
  to:@return

char toupper(char ch)
toupper: scope:[toupper]  from strupr::@2
  toupper::ch#1 = phi( strupr::@2/toupper::ch#0 )
  toupper::$0 = toupper::ch#1 >= 'a'
  toupper::$1 = toupper::ch#1 <= 'z'
  toupper::$2 = toupper::$0 && toupper::$1
  if(toupper::$2) goto toupper::@1
  to:toupper::@2
toupper::@1: scope:[toupper]  from toupper
  toupper::ch#2 = phi( toupper/toupper::ch#1 )
  toupper::$3 = toupper::ch#2 + 'A'-'a'
  toupper::return#0 = toupper::$3
  to:toupper::@return
toupper::@2: scope:[toupper]  from toupper
  toupper::ch#3 = phi( toupper/toupper::ch#1 )
  toupper::return#1 = toupper::ch#3
  to:toupper::@return
toupper::@return: scope:[toupper]  from toupper::@1 toupper::@2
  toupper::return#4 = phi( toupper::@1/toupper::return#0, toupper::@2/toupper::return#1 )
  toupper::return#2 = toupper::return#4
  return 
  to:@return

char * strupr(char *str)
strupr: scope:[strupr]  from printf_number_buffer::@11
  strupr::str#1 = phi( printf_number_buffer::@11/strupr::str#0 )
  strupr::src#0 = strupr::str#1
  to:strupr::@1
strupr::@1: scope:[strupr]  from strupr strupr::@4
  strupr::str#3 = phi( strupr/strupr::str#1, strupr::@4/strupr::str#4 )
  strupr::src#2 = phi( strupr/strupr::src#0, strupr::@4/strupr::src#1 )
  strupr::$1 = 0 != *strupr::src#2
  if(strupr::$1) goto strupr::@2
  to:strupr::@3
strupr::@2: scope:[strupr]  from strupr::@1
  strupr::str#5 = phi( strupr::@1/strupr::str#3 )
  strupr::src#3 = phi( strupr::@1/strupr::src#2 )
  toupper::ch#0 = *strupr::src#3
  call toupper
  toupper::return#3 = toupper::return#2
  to:strupr::@4
strupr::@4: scope:[strupr]  from strupr::@2
  strupr::str#4 = phi( strupr::@2/strupr::str#5 )
  strupr::src#4 = phi( strupr::@2/strupr::src#3 )
  toupper::return#5 = phi( strupr::@2/toupper::return#3 )
  strupr::$0 = toupper::return#5
  *strupr::src#4 = strupr::$0
  strupr::src#1 = ++ strupr::src#4
  to:strupr::@1
strupr::@3: scope:[strupr]  from strupr::@1
  strupr::str#2 = phi( strupr::@1/strupr::str#3 )
  strupr::return#0 = strupr::str#2
  to:strupr::@return
strupr::@return: scope:[strupr]  from strupr::@3
  strupr::return#3 = phi( strupr::@3/strupr::return#0 )
  strupr::return#1 = strupr::return#3
  return 
  to:@return

void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa]  from printf_uint::@3
  utoa::buffer#21 = phi( printf_uint::@3/utoa::buffer#5 )
  utoa::value#12 = phi( printf_uint::@3/utoa::value#1 )
  utoa::radix#1 = phi( printf_uint::@3/utoa::radix#0 )
  utoa::max_digits#0 = 0
  utoa::digit_values#0 = (unsigned int *) 0
  utoa::$0 = utoa::radix#1 == DECIMAL
  if(utoa::$0) goto utoa::@1
  to:utoa::@6
utoa::@1: scope:[utoa]  from utoa
  utoa::buffer#17 = phi( utoa/utoa::buffer#21 )
  utoa::value#8 = phi( utoa/utoa::value#12 )
  utoa::max_digits#1 = 5
  utoa::digit_values#1 = RADIX_DECIMAL_VALUES
  to:utoa::@5
utoa::@6: scope:[utoa]  from utoa
  utoa::value#13 = phi( utoa/utoa::value#12 )
  utoa::buffer#16 = phi( utoa/utoa::buffer#21 )
  utoa::radix#2 = phi( utoa/utoa::radix#1 )
  utoa::$1 = utoa::radix#2 == HEXADECIMAL
  if(utoa::$1) goto utoa::@2
  to:utoa::@7
utoa::@2: scope:[utoa]  from utoa::@6
  utoa::buffer#18 = phi( utoa::@6/utoa::buffer#16 )
  utoa::value#9 = phi( utoa::@6/utoa::value#13 )
  utoa::max_digits#2 = 4
  utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
  to:utoa::@5
utoa::@7: scope:[utoa]  from utoa::@6
  utoa::value#14 = phi( utoa::@6/utoa::value#13 )
  utoa::buffer#13 = phi( utoa::@6/utoa::buffer#16 )
  utoa::radix#3 = phi( utoa::@6/utoa::radix#2 )
  utoa::$2 = utoa::radix#3 == OCTAL
  if(utoa::$2) goto utoa::@3
  to:utoa::@8
utoa::@3: scope:[utoa]  from utoa::@7
  utoa::buffer#19 = phi( utoa::@7/utoa::buffer#13 )
  utoa::value#10 = phi( utoa::@7/utoa::value#14 )
  utoa::max_digits#3 = 6
  utoa::digit_values#3 = RADIX_OCTAL_VALUES
  to:utoa::@5
utoa::@8: scope:[utoa]  from utoa::@7
  utoa::value#15 = phi( utoa::@7/utoa::value#14 )
  utoa::buffer#10 = phi( utoa::@7/utoa::buffer#13 )
  utoa::radix#4 = phi( utoa::@7/utoa::radix#3 )
  utoa::$3 = utoa::radix#4 == BINARY
  if(utoa::$3) goto utoa::@4
  to:utoa::@9
utoa::@4: scope:[utoa]  from utoa::@8
  utoa::buffer#20 = phi( utoa::@8/utoa::buffer#10 )
  utoa::value#11 = phi( utoa::@8/utoa::value#15 )
  utoa::max_digits#4 = $10
  utoa::digit_values#4 = RADIX_BINARY_VALUES
  to:utoa::@5
utoa::@9: scope:[utoa]  from utoa::@8
  utoa::buffer#6 = phi( utoa::@8/utoa::buffer#10 )
  *utoa::buffer#6 = 'e'
  utoa::buffer#0 = ++ utoa::buffer#6
  *utoa::buffer#0 = 'r'
  utoa::buffer#1 = ++ utoa::buffer#0
  *utoa::buffer#1 = 'r'
  utoa::buffer#2 = ++ utoa::buffer#1
  *utoa::buffer#2 = 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@12 utoa::@9
  return 
  to:@return
utoa::@5: scope:[utoa]  from utoa::@1 utoa::@2 utoa::@3 utoa::@4
  utoa::buffer#15 = phi( utoa::@1/utoa::buffer#17, utoa::@2/utoa::buffer#18, utoa::@3/utoa::buffer#19, utoa::@4/utoa::buffer#20 )
  utoa::value#7 = phi( utoa::@1/utoa::value#8, utoa::@2/utoa::value#9, utoa::@3/utoa::value#10, utoa::@4/utoa::value#11 )
  utoa::digit_values#8 = phi( utoa::@1/utoa::digit_values#1, utoa::@2/utoa::digit_values#2, utoa::@3/utoa::digit_values#3, utoa::@4/utoa::digit_values#4 )
  utoa::max_digits#7 = phi( utoa::@1/utoa::max_digits#1, utoa::@2/utoa::max_digits#2, utoa::@3/utoa::max_digits#3, utoa::@4/utoa::max_digits#4 )
  utoa::started#0 = 0
  utoa::digit#0 = 0
  to:utoa::@10
utoa::@10: scope:[utoa]  from utoa::@13 utoa::@5
  utoa::buffer#11 = phi( utoa::@13/utoa::buffer#14, utoa::@5/utoa::buffer#15 )
  utoa::started#3 = phi( utoa::@13/utoa::started#4, utoa::@5/utoa::started#0 )
  utoa::value#5 = phi( utoa::@13/utoa::value#6, utoa::@5/utoa::value#7 )
  utoa::digit_values#6 = phi( utoa::@13/utoa::digit_values#7, utoa::@5/utoa::digit_values#8 )
  utoa::digit#2 = phi( utoa::@13/utoa::digit#1, utoa::@5/utoa::digit#0 )
  utoa::max_digits#5 = phi( utoa::@13/utoa::max_digits#6, utoa::@5/utoa::max_digits#7 )
  utoa::$4 = utoa::max_digits#5 - 1
  utoa::$5 = utoa::digit#2 < utoa::$4
  if(utoa::$5) goto utoa::@11
  to:utoa::@12
utoa::@11: scope:[utoa]  from utoa::@10
  utoa::max_digits#8 = phi( utoa::@10/utoa::max_digits#5 )
  utoa::buffer#12 = phi( utoa::@10/utoa::buffer#11 )
  utoa::started#2 = phi( utoa::@10/utoa::started#3 )
  utoa::value#2 = phi( utoa::@10/utoa::value#5 )
  utoa::digit_values#5 = phi( utoa::@10/utoa::digit_values#6 )
  utoa::digit#3 = phi( utoa::@10/utoa::digit#2 )
  utoa::$10 = utoa::digit#3 * SIZEOF_UNSIGNED_INT
  utoa::digit_value#0 = utoa::digit_values#5[utoa::$10]
  utoa::$6 = utoa::value#2 >= utoa::digit_value#0
  utoa::$7 = utoa::started#2 || utoa::$6
  utoa::$8 = ! utoa::$7
  if(utoa::$8) goto utoa::@13
  to:utoa::@14
utoa::@12: scope:[utoa]  from utoa::@10
  utoa::buffer#7 = phi( utoa::@10/utoa::buffer#11 )
  utoa::value#3 = phi( utoa::@10/utoa::value#5 )
  utoa::$11 = (char)utoa::value#3
  *utoa::buffer#7 = DIGITS[utoa::$11]
  utoa::buffer#3 = ++ utoa::buffer#7
  *utoa::buffer#3 = 0
  to:utoa::@return
utoa::@13: scope:[utoa]  from utoa::@11 utoa::@15
  utoa::buffer#14 = phi( utoa::@11/utoa::buffer#12, utoa::@15/utoa::buffer#4 )
  utoa::started#4 = phi( utoa::@11/utoa::started#2, utoa::@15/utoa::started#1 )
  utoa::value#6 = phi( utoa::@11/utoa::value#2, utoa::@15/utoa::value#0 )
  utoa::digit_values#7 = phi( utoa::@11/utoa::digit_values#5, utoa::@15/utoa::digit_values#9 )
  utoa::max_digits#6 = phi( utoa::@11/utoa::max_digits#8, utoa::@15/utoa::max_digits#9 )
  utoa::digit#4 = phi( utoa::@11/utoa::digit#3, utoa::@15/utoa::digit#5 )
  utoa::digit#1 = ++ utoa::digit#4
  to:utoa::@10
utoa::@14: scope:[utoa]  from utoa::@11
  utoa::digit_values#10 = phi( utoa::@11/utoa::digit_values#5 )
  utoa::max_digits#10 = phi( utoa::@11/utoa::max_digits#8 )
  utoa::digit#6 = phi( utoa::@11/utoa::digit#3 )
  utoa::digit_value#1 = phi( utoa::@11/utoa::digit_value#0 )
  utoa::value#4 = phi( utoa::@11/utoa::value#2 )
  utoa::buffer#8 = phi( utoa::@11/utoa::buffer#12 )
  utoa_append::buffer#0 = utoa::buffer#8
  utoa_append::value#0 = utoa::value#4
  utoa_append::sub#0 = utoa::digit_value#1
  call utoa_append
  utoa_append::return#0 = utoa_append::return#2
  to:utoa::@15
utoa::@15: scope:[utoa]  from utoa::@14
  utoa::digit_values#9 = phi( utoa::@14/utoa::digit_values#10 )
  utoa::max_digits#9 = phi( utoa::@14/utoa::max_digits#10 )
  utoa::digit#5 = phi( utoa::@14/utoa::digit#6 )
  utoa::buffer#9 = phi( utoa::@14/utoa::buffer#8 )
  utoa_append::return#3 = phi( utoa::@14/utoa_append::return#0 )
  utoa::$9 = utoa_append::return#3
  utoa::value#0 = utoa::$9
  utoa::buffer#4 = ++ utoa::buffer#9
  utoa::started#1 = 1
  to:utoa::@13

void ultoa(unsigned long value , char *buffer , char radix)
ultoa: scope:[ultoa]  from printf_ulong::@3
  ultoa::buffer#21 = phi( printf_ulong::@3/ultoa::buffer#5 )
  ultoa::value#12 = phi( printf_ulong::@3/ultoa::value#1 )
  ultoa::radix#1 = phi( printf_ulong::@3/ultoa::radix#0 )
  ultoa::max_digits#0 = 0
  ultoa::digit_values#0 = (unsigned long *) 0
  ultoa::$0 = ultoa::radix#1 == DECIMAL
  if(ultoa::$0) goto ultoa::@1
  to:ultoa::@6
ultoa::@1: scope:[ultoa]  from ultoa
  ultoa::buffer#17 = phi( ultoa/ultoa::buffer#21 )
  ultoa::value#8 = phi( ultoa/ultoa::value#12 )
  ultoa::max_digits#1 = $a
  ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG
  to:ultoa::@5
ultoa::@6: scope:[ultoa]  from ultoa
  ultoa::value#13 = phi( ultoa/ultoa::value#12 )
  ultoa::buffer#16 = phi( ultoa/ultoa::buffer#21 )
  ultoa::radix#2 = phi( ultoa/ultoa::radix#1 )
  ultoa::$1 = ultoa::radix#2 == HEXADECIMAL
  if(ultoa::$1) goto ultoa::@2
  to:ultoa::@7
ultoa::@2: scope:[ultoa]  from ultoa::@6
  ultoa::buffer#18 = phi( ultoa::@6/ultoa::buffer#16 )
  ultoa::value#9 = phi( ultoa::@6/ultoa::value#13 )
  ultoa::max_digits#2 = 8
  ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG
  to:ultoa::@5
ultoa::@7: scope:[ultoa]  from ultoa::@6
  ultoa::value#14 = phi( ultoa::@6/ultoa::value#13 )
  ultoa::buffer#13 = phi( ultoa::@6/ultoa::buffer#16 )
  ultoa::radix#3 = phi( ultoa::@6/ultoa::radix#2 )
  ultoa::$2 = ultoa::radix#3 == OCTAL
  if(ultoa::$2) goto ultoa::@3
  to:ultoa::@8
ultoa::@3: scope:[ultoa]  from ultoa::@7
  ultoa::buffer#19 = phi( ultoa::@7/ultoa::buffer#13 )
  ultoa::value#10 = phi( ultoa::@7/ultoa::value#14 )
  ultoa::max_digits#3 = $b
  ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG
  to:ultoa::@5
ultoa::@8: scope:[ultoa]  from ultoa::@7
  ultoa::value#15 = phi( ultoa::@7/ultoa::value#14 )
  ultoa::buffer#10 = phi( ultoa::@7/ultoa::buffer#13 )
  ultoa::radix#4 = phi( ultoa::@7/ultoa::radix#3 )
  ultoa::$3 = ultoa::radix#4 == BINARY
  if(ultoa::$3) goto ultoa::@4
  to:ultoa::@9
ultoa::@4: scope:[ultoa]  from ultoa::@8
  ultoa::buffer#20 = phi( ultoa::@8/ultoa::buffer#10 )
  ultoa::value#11 = phi( ultoa::@8/ultoa::value#15 )
  ultoa::max_digits#4 = $20
  ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG
  to:ultoa::@5
ultoa::@9: scope:[ultoa]  from ultoa::@8
  ultoa::buffer#6 = phi( ultoa::@8/ultoa::buffer#10 )
  *ultoa::buffer#6 = 'e'
  ultoa::buffer#0 = ++ ultoa::buffer#6
  *ultoa::buffer#0 = 'r'
  ultoa::buffer#1 = ++ ultoa::buffer#0
  *ultoa::buffer#1 = 'r'
  ultoa::buffer#2 = ++ ultoa::buffer#1
  *ultoa::buffer#2 = 0
  to:ultoa::@return
ultoa::@return: scope:[ultoa]  from ultoa::@12 ultoa::@9
  return 
  to:@return
ultoa::@5: scope:[ultoa]  from ultoa::@1 ultoa::@2 ultoa::@3 ultoa::@4
  ultoa::buffer#15 = phi( ultoa::@1/ultoa::buffer#17, ultoa::@2/ultoa::buffer#18, ultoa::@3/ultoa::buffer#19, ultoa::@4/ultoa::buffer#20 )
  ultoa::value#7 = phi( ultoa::@1/ultoa::value#8, ultoa::@2/ultoa::value#9, ultoa::@3/ultoa::value#10, ultoa::@4/ultoa::value#11 )
  ultoa::digit_values#8 = phi( ultoa::@1/ultoa::digit_values#1, ultoa::@2/ultoa::digit_values#2, ultoa::@3/ultoa::digit_values#3, ultoa::@4/ultoa::digit_values#4 )
  ultoa::max_digits#7 = phi( ultoa::@1/ultoa::max_digits#1, ultoa::@2/ultoa::max_digits#2, ultoa::@3/ultoa::max_digits#3, ultoa::@4/ultoa::max_digits#4 )
  ultoa::started#0 = 0
  ultoa::digit#0 = 0
  to:ultoa::@10
ultoa::@10: scope:[ultoa]  from ultoa::@13 ultoa::@5
  ultoa::buffer#11 = phi( ultoa::@13/ultoa::buffer#14, ultoa::@5/ultoa::buffer#15 )
  ultoa::started#3 = phi( ultoa::@13/ultoa::started#4, ultoa::@5/ultoa::started#0 )
  ultoa::value#5 = phi( ultoa::@13/ultoa::value#6, ultoa::@5/ultoa::value#7 )
  ultoa::digit_values#6 = phi( ultoa::@13/ultoa::digit_values#7, ultoa::@5/ultoa::digit_values#8 )
  ultoa::digit#2 = phi( ultoa::@13/ultoa::digit#1, ultoa::@5/ultoa::digit#0 )
  ultoa::max_digits#5 = phi( ultoa::@13/ultoa::max_digits#6, ultoa::@5/ultoa::max_digits#7 )
  ultoa::$4 = ultoa::max_digits#5 - 1
  ultoa::$5 = ultoa::digit#2 < ultoa::$4
  if(ultoa::$5) goto ultoa::@11
  to:ultoa::@12
ultoa::@11: scope:[ultoa]  from ultoa::@10
  ultoa::max_digits#8 = phi( ultoa::@10/ultoa::max_digits#5 )
  ultoa::buffer#12 = phi( ultoa::@10/ultoa::buffer#11 )
  ultoa::started#2 = phi( ultoa::@10/ultoa::started#3 )
  ultoa::value#2 = phi( ultoa::@10/ultoa::value#5 )
  ultoa::digit_values#5 = phi( ultoa::@10/ultoa::digit_values#6 )
  ultoa::digit#3 = phi( ultoa::@10/ultoa::digit#2 )
  ultoa::$10 = ultoa::digit#3 * SIZEOF_UNSIGNED_LONG
  ultoa::digit_value#0 = ultoa::digit_values#5[ultoa::$10]
  ultoa::$6 = ultoa::value#2 >= ultoa::digit_value#0
  ultoa::$7 = ultoa::started#2 || ultoa::$6
  ultoa::$8 = ! ultoa::$7
  if(ultoa::$8) goto ultoa::@13
  to:ultoa::@14
ultoa::@12: scope:[ultoa]  from ultoa::@10
  ultoa::buffer#7 = phi( ultoa::@10/ultoa::buffer#11 )
  ultoa::value#3 = phi( ultoa::@10/ultoa::value#5 )
  ultoa::$11 = (char)ultoa::value#3
  *ultoa::buffer#7 = DIGITS[ultoa::$11]
  ultoa::buffer#3 = ++ ultoa::buffer#7
  *ultoa::buffer#3 = 0
  to:ultoa::@return
ultoa::@13: scope:[ultoa]  from ultoa::@11 ultoa::@15
  ultoa::buffer#14 = phi( ultoa::@11/ultoa::buffer#12, ultoa::@15/ultoa::buffer#4 )
  ultoa::started#4 = phi( ultoa::@11/ultoa::started#2, ultoa::@15/ultoa::started#1 )
  ultoa::value#6 = phi( ultoa::@11/ultoa::value#2, ultoa::@15/ultoa::value#0 )
  ultoa::digit_values#7 = phi( ultoa::@11/ultoa::digit_values#5, ultoa::@15/ultoa::digit_values#9 )
  ultoa::max_digits#6 = phi( ultoa::@11/ultoa::max_digits#8, ultoa::@15/ultoa::max_digits#9 )
  ultoa::digit#4 = phi( ultoa::@11/ultoa::digit#3, ultoa::@15/ultoa::digit#5 )
  ultoa::digit#1 = ++ ultoa::digit#4
  to:ultoa::@10
ultoa::@14: scope:[ultoa]  from ultoa::@11
  ultoa::digit_values#10 = phi( ultoa::@11/ultoa::digit_values#5 )
  ultoa::max_digits#10 = phi( ultoa::@11/ultoa::max_digits#8 )
  ultoa::digit#6 = phi( ultoa::@11/ultoa::digit#3 )
  ultoa::digit_value#1 = phi( ultoa::@11/ultoa::digit_value#0 )
  ultoa::value#4 = phi( ultoa::@11/ultoa::value#2 )
  ultoa::buffer#8 = phi( ultoa::@11/ultoa::buffer#12 )
  ultoa_append::buffer#0 = ultoa::buffer#8
  ultoa_append::value#0 = ultoa::value#4
  ultoa_append::sub#0 = ultoa::digit_value#1
  call ultoa_append
  ultoa_append::return#0 = ultoa_append::return#2
  to:ultoa::@15
ultoa::@15: scope:[ultoa]  from ultoa::@14
  ultoa::digit_values#9 = phi( ultoa::@14/ultoa::digit_values#10 )
  ultoa::max_digits#9 = phi( ultoa::@14/ultoa::max_digits#10 )
  ultoa::digit#5 = phi( ultoa::@14/ultoa::digit#6 )
  ultoa::buffer#9 = phi( ultoa::@14/ultoa::buffer#8 )
  ultoa_append::return#3 = phi( ultoa::@14/ultoa_append::return#0 )
  ultoa::$9 = ultoa_append::return#3
  ultoa::value#0 = ultoa::$9
  ultoa::buffer#4 = ++ ultoa::buffer#9
  ultoa::started#1 = 1
  to:ultoa::@13

void uctoa(char value , char *buffer , char radix)
uctoa: scope:[uctoa]  from printf_uchar::@3
  uctoa::buffer#21 = phi( printf_uchar::@3/uctoa::buffer#5 )
  uctoa::value#12 = phi( printf_uchar::@3/uctoa::value#1 )
  uctoa::radix#1 = phi( printf_uchar::@3/uctoa::radix#0 )
  uctoa::max_digits#0 = 0
  uctoa::digit_values#0 = (char *) 0
  uctoa::$0 = uctoa::radix#1 == DECIMAL
  if(uctoa::$0) goto uctoa::@1
  to:uctoa::@6
uctoa::@1: scope:[uctoa]  from uctoa
  uctoa::buffer#17 = phi( uctoa/uctoa::buffer#21 )
  uctoa::value#8 = phi( uctoa/uctoa::value#12 )
  uctoa::max_digits#1 = 3
  uctoa::digit_values#1 = RADIX_DECIMAL_VALUES_CHAR
  to:uctoa::@5
uctoa::@6: scope:[uctoa]  from uctoa
  uctoa::value#13 = phi( uctoa/uctoa::value#12 )
  uctoa::buffer#16 = phi( uctoa/uctoa::buffer#21 )
  uctoa::radix#2 = phi( uctoa/uctoa::radix#1 )
  uctoa::$1 = uctoa::radix#2 == HEXADECIMAL
  if(uctoa::$1) goto uctoa::@2
  to:uctoa::@7
uctoa::@2: scope:[uctoa]  from uctoa::@6
  uctoa::buffer#18 = phi( uctoa::@6/uctoa::buffer#16 )
  uctoa::value#9 = phi( uctoa::@6/uctoa::value#13 )
  uctoa::max_digits#2 = 2
  uctoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_CHAR
  to:uctoa::@5
uctoa::@7: scope:[uctoa]  from uctoa::@6
  uctoa::value#14 = phi( uctoa::@6/uctoa::value#13 )
  uctoa::buffer#13 = phi( uctoa::@6/uctoa::buffer#16 )
  uctoa::radix#3 = phi( uctoa::@6/uctoa::radix#2 )
  uctoa::$2 = uctoa::radix#3 == OCTAL
  if(uctoa::$2) goto uctoa::@3
  to:uctoa::@8
uctoa::@3: scope:[uctoa]  from uctoa::@7
  uctoa::buffer#19 = phi( uctoa::@7/uctoa::buffer#13 )
  uctoa::value#10 = phi( uctoa::@7/uctoa::value#14 )
  uctoa::max_digits#3 = 3
  uctoa::digit_values#3 = RADIX_OCTAL_VALUES_CHAR
  to:uctoa::@5
uctoa::@8: scope:[uctoa]  from uctoa::@7
  uctoa::value#15 = phi( uctoa::@7/uctoa::value#14 )
  uctoa::buffer#10 = phi( uctoa::@7/uctoa::buffer#13 )
  uctoa::radix#4 = phi( uctoa::@7/uctoa::radix#3 )
  uctoa::$3 = uctoa::radix#4 == BINARY
  if(uctoa::$3) goto uctoa::@4
  to:uctoa::@9
uctoa::@4: scope:[uctoa]  from uctoa::@8
  uctoa::buffer#20 = phi( uctoa::@8/uctoa::buffer#10 )
  uctoa::value#11 = phi( uctoa::@8/uctoa::value#15 )
  uctoa::max_digits#4 = 8
  uctoa::digit_values#4 = RADIX_BINARY_VALUES_CHAR
  to:uctoa::@5
uctoa::@9: scope:[uctoa]  from uctoa::@8
  uctoa::buffer#6 = phi( uctoa::@8/uctoa::buffer#10 )
  *uctoa::buffer#6 = 'e'
  uctoa::buffer#0 = ++ uctoa::buffer#6
  *uctoa::buffer#0 = 'r'
  uctoa::buffer#1 = ++ uctoa::buffer#0
  *uctoa::buffer#1 = 'r'
  uctoa::buffer#2 = ++ uctoa::buffer#1
  *uctoa::buffer#2 = 0
  to:uctoa::@return
uctoa::@return: scope:[uctoa]  from uctoa::@12 uctoa::@9
  return 
  to:@return
uctoa::@5: scope:[uctoa]  from uctoa::@1 uctoa::@2 uctoa::@3 uctoa::@4
  uctoa::buffer#15 = phi( uctoa::@1/uctoa::buffer#17, uctoa::@2/uctoa::buffer#18, uctoa::@3/uctoa::buffer#19, uctoa::@4/uctoa::buffer#20 )
  uctoa::value#7 = phi( uctoa::@1/uctoa::value#8, uctoa::@2/uctoa::value#9, uctoa::@3/uctoa::value#10, uctoa::@4/uctoa::value#11 )
  uctoa::digit_values#8 = phi( uctoa::@1/uctoa::digit_values#1, uctoa::@2/uctoa::digit_values#2, uctoa::@3/uctoa::digit_values#3, uctoa::@4/uctoa::digit_values#4 )
  uctoa::max_digits#7 = phi( uctoa::@1/uctoa::max_digits#1, uctoa::@2/uctoa::max_digits#2, uctoa::@3/uctoa::max_digits#3, uctoa::@4/uctoa::max_digits#4 )
  uctoa::started#0 = 0
  uctoa::digit#0 = 0
  to:uctoa::@10
uctoa::@10: scope:[uctoa]  from uctoa::@13 uctoa::@5
  uctoa::buffer#11 = phi( uctoa::@13/uctoa::buffer#14, uctoa::@5/uctoa::buffer#15 )
  uctoa::started#3 = phi( uctoa::@13/uctoa::started#4, uctoa::@5/uctoa::started#0 )
  uctoa::value#5 = phi( uctoa::@13/uctoa::value#6, uctoa::@5/uctoa::value#7 )
  uctoa::digit_values#6 = phi( uctoa::@13/uctoa::digit_values#7, uctoa::@5/uctoa::digit_values#8 )
  uctoa::digit#2 = phi( uctoa::@13/uctoa::digit#1, uctoa::@5/uctoa::digit#0 )
  uctoa::max_digits#5 = phi( uctoa::@13/uctoa::max_digits#6, uctoa::@5/uctoa::max_digits#7 )
  uctoa::$4 = uctoa::max_digits#5 - 1
  uctoa::$5 = uctoa::digit#2 < uctoa::$4
  if(uctoa::$5) goto uctoa::@11
  to:uctoa::@12
uctoa::@11: scope:[uctoa]  from uctoa::@10
  uctoa::max_digits#8 = phi( uctoa::@10/uctoa::max_digits#5 )
  uctoa::buffer#12 = phi( uctoa::@10/uctoa::buffer#11 )
  uctoa::started#2 = phi( uctoa::@10/uctoa::started#3 )
  uctoa::value#2 = phi( uctoa::@10/uctoa::value#5 )
  uctoa::digit#3 = phi( uctoa::@10/uctoa::digit#2 )
  uctoa::digit_values#5 = phi( uctoa::@10/uctoa::digit_values#6 )
  uctoa::digit_value#0 = uctoa::digit_values#5[uctoa::digit#3]
  uctoa::$6 = uctoa::value#2 >= uctoa::digit_value#0
  uctoa::$7 = uctoa::started#2 || uctoa::$6
  uctoa::$8 = ! uctoa::$7
  if(uctoa::$8) goto uctoa::@13
  to:uctoa::@14
uctoa::@12: scope:[uctoa]  from uctoa::@10
  uctoa::buffer#7 = phi( uctoa::@10/uctoa::buffer#11 )
  uctoa::value#3 = phi( uctoa::@10/uctoa::value#5 )
  uctoa::$10 = (char)uctoa::value#3
  *uctoa::buffer#7 = DIGITS[uctoa::$10]
  uctoa::buffer#3 = ++ uctoa::buffer#7
  *uctoa::buffer#3 = 0
  to:uctoa::@return
uctoa::@13: scope:[uctoa]  from uctoa::@11 uctoa::@15
  uctoa::buffer#14 = phi( uctoa::@11/uctoa::buffer#12, uctoa::@15/uctoa::buffer#4 )
  uctoa::started#4 = phi( uctoa::@11/uctoa::started#2, uctoa::@15/uctoa::started#1 )
  uctoa::value#6 = phi( uctoa::@11/uctoa::value#2, uctoa::@15/uctoa::value#0 )
  uctoa::digit_values#7 = phi( uctoa::@11/uctoa::digit_values#5, uctoa::@15/uctoa::digit_values#9 )
  uctoa::max_digits#6 = phi( uctoa::@11/uctoa::max_digits#8, uctoa::@15/uctoa::max_digits#9 )
  uctoa::digit#4 = phi( uctoa::@11/uctoa::digit#3, uctoa::@15/uctoa::digit#5 )
  uctoa::digit#1 = ++ uctoa::digit#4
  to:uctoa::@10
uctoa::@14: scope:[uctoa]  from uctoa::@11
  uctoa::digit_values#10 = phi( uctoa::@11/uctoa::digit_values#5 )
  uctoa::max_digits#10 = phi( uctoa::@11/uctoa::max_digits#8 )
  uctoa::digit#6 = phi( uctoa::@11/uctoa::digit#3 )
  uctoa::digit_value#1 = phi( uctoa::@11/uctoa::digit_value#0 )
  uctoa::value#4 = phi( uctoa::@11/uctoa::value#2 )
  uctoa::buffer#8 = phi( uctoa::@11/uctoa::buffer#12 )
  uctoa_append::buffer#0 = uctoa::buffer#8
  uctoa_append::value#0 = uctoa::value#4
  uctoa_append::sub#0 = uctoa::digit_value#1
  call uctoa_append
  uctoa_append::return#0 = uctoa_append::return#2
  to:uctoa::@15
uctoa::@15: scope:[uctoa]  from uctoa::@14
  uctoa::digit_values#9 = phi( uctoa::@14/uctoa::digit_values#10 )
  uctoa::max_digits#9 = phi( uctoa::@14/uctoa::max_digits#10 )
  uctoa::digit#5 = phi( uctoa::@14/uctoa::digit#6 )
  uctoa::buffer#9 = phi( uctoa::@14/uctoa::buffer#8 )
  uctoa_append::return#3 = phi( uctoa::@14/uctoa_append::return#0 )
  uctoa::$9 = uctoa_append::return#3
  uctoa::value#0 = uctoa::$9
  uctoa::buffer#4 = ++ uctoa::buffer#9
  uctoa::started#1 = 1
  to:uctoa::@13

char uctoa_append(char *buffer , char value , char sub)
uctoa_append: scope:[uctoa_append]  from uctoa::@14
  uctoa_append::buffer#3 = phi( uctoa::@14/uctoa_append::buffer#0 )
  uctoa_append::sub#3 = phi( uctoa::@14/uctoa_append::sub#0 )
  uctoa_append::value#5 = phi( uctoa::@14/uctoa_append::value#0 )
  uctoa_append::digit#0 = 0
  to:uctoa_append::@1
uctoa_append::@1: scope:[uctoa_append]  from uctoa_append uctoa_append::@2
  uctoa_append::buffer#2 = phi( uctoa_append/uctoa_append::buffer#3, uctoa_append::@2/uctoa_append::buffer#4 )
  uctoa_append::digit#4 = phi( uctoa_append/uctoa_append::digit#0, uctoa_append::@2/uctoa_append::digit#1 )
  uctoa_append::sub#1 = phi( uctoa_append/uctoa_append::sub#3, uctoa_append::@2/uctoa_append::sub#2 )
  uctoa_append::value#2 = phi( uctoa_append/uctoa_append::value#5, uctoa_append::@2/uctoa_append::value#1 )
  uctoa_append::$0 = uctoa_append::value#2 >= uctoa_append::sub#1
  if(uctoa_append::$0) goto uctoa_append::@2
  to:uctoa_append::@3
uctoa_append::@2: scope:[uctoa_append]  from uctoa_append::@1
  uctoa_append::buffer#4 = phi( uctoa_append::@1/uctoa_append::buffer#2 )
  uctoa_append::sub#2 = phi( uctoa_append::@1/uctoa_append::sub#1 )
  uctoa_append::value#3 = phi( uctoa_append::@1/uctoa_append::value#2 )
  uctoa_append::digit#2 = phi( uctoa_append::@1/uctoa_append::digit#4 )
  uctoa_append::digit#1 = ++ uctoa_append::digit#2
  uctoa_append::value#1 = uctoa_append::value#3 - uctoa_append::sub#2
  to:uctoa_append::@1
uctoa_append::@3: scope:[uctoa_append]  from uctoa_append::@1
  uctoa_append::value#4 = phi( uctoa_append::@1/uctoa_append::value#2 )
  uctoa_append::buffer#1 = phi( uctoa_append::@1/uctoa_append::buffer#2 )
  uctoa_append::digit#3 = phi( uctoa_append::@1/uctoa_append::digit#4 )
  *uctoa_append::buffer#1 = DIGITS[uctoa_append::digit#3]
  uctoa_append::return#1 = uctoa_append::value#4
  to:uctoa_append::@return
uctoa_append::@return: scope:[uctoa_append]  from uctoa_append::@3
  uctoa_append::return#4 = phi( uctoa_append::@3/uctoa_append::return#1 )
  uctoa_append::return#2 = uctoa_append::return#4
  return 
  to:@return

unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append]  from utoa::@14
  utoa_append::buffer#3 = phi( utoa::@14/utoa_append::buffer#0 )
  utoa_append::sub#3 = phi( utoa::@14/utoa_append::sub#0 )
  utoa_append::value#5 = phi( utoa::@14/utoa_append::value#0 )
  utoa_append::digit#0 = 0
  to:utoa_append::@1
utoa_append::@1: scope:[utoa_append]  from utoa_append utoa_append::@2
  utoa_append::buffer#2 = phi( utoa_append/utoa_append::buffer#3, utoa_append::@2/utoa_append::buffer#4 )
  utoa_append::digit#4 = phi( utoa_append/utoa_append::digit#0, utoa_append::@2/utoa_append::digit#1 )
  utoa_append::sub#1 = phi( utoa_append/utoa_append::sub#3, utoa_append::@2/utoa_append::sub#2 )
  utoa_append::value#2 = phi( utoa_append/utoa_append::value#5, utoa_append::@2/utoa_append::value#1 )
  utoa_append::$0 = utoa_append::value#2 >= utoa_append::sub#1
  if(utoa_append::$0) goto utoa_append::@2
  to:utoa_append::@3
utoa_append::@2: scope:[utoa_append]  from utoa_append::@1
  utoa_append::buffer#4 = phi( utoa_append::@1/utoa_append::buffer#2 )
  utoa_append::sub#2 = phi( utoa_append::@1/utoa_append::sub#1 )
  utoa_append::value#3 = phi( utoa_append::@1/utoa_append::value#2 )
  utoa_append::digit#2 = phi( utoa_append::@1/utoa_append::digit#4 )
  utoa_append::digit#1 = ++ utoa_append::digit#2
  utoa_append::value#1 = utoa_append::value#3 - utoa_append::sub#2
  to:utoa_append::@1
utoa_append::@3: scope:[utoa_append]  from utoa_append::@1
  utoa_append::value#4 = phi( utoa_append::@1/utoa_append::value#2 )
  utoa_append::buffer#1 = phi( utoa_append::@1/utoa_append::buffer#2 )
  utoa_append::digit#3 = phi( utoa_append::@1/utoa_append::digit#4 )
  *utoa_append::buffer#1 = DIGITS[utoa_append::digit#3]
  utoa_append::return#1 = utoa_append::value#4
  to:utoa_append::@return
utoa_append::@return: scope:[utoa_append]  from utoa_append::@3
  utoa_append::return#4 = phi( utoa_append::@3/utoa_append::return#1 )
  utoa_append::return#2 = utoa_append::return#4
  return 
  to:@return

unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
ultoa_append: scope:[ultoa_append]  from ultoa::@14
  ultoa_append::buffer#3 = phi( ultoa::@14/ultoa_append::buffer#0 )
  ultoa_append::sub#3 = phi( ultoa::@14/ultoa_append::sub#0 )
  ultoa_append::value#5 = phi( ultoa::@14/ultoa_append::value#0 )
  ultoa_append::digit#0 = 0
  to:ultoa_append::@1
ultoa_append::@1: scope:[ultoa_append]  from ultoa_append ultoa_append::@2
  ultoa_append::buffer#2 = phi( ultoa_append/ultoa_append::buffer#3, ultoa_append::@2/ultoa_append::buffer#4 )
  ultoa_append::digit#4 = phi( ultoa_append/ultoa_append::digit#0, ultoa_append::@2/ultoa_append::digit#1 )
  ultoa_append::sub#1 = phi( ultoa_append/ultoa_append::sub#3, ultoa_append::@2/ultoa_append::sub#2 )
  ultoa_append::value#2 = phi( ultoa_append/ultoa_append::value#5, ultoa_append::@2/ultoa_append::value#1 )
  ultoa_append::$0 = ultoa_append::value#2 >= ultoa_append::sub#1
  if(ultoa_append::$0) goto ultoa_append::@2
  to:ultoa_append::@3
ultoa_append::@2: scope:[ultoa_append]  from ultoa_append::@1
  ultoa_append::buffer#4 = phi( ultoa_append::@1/ultoa_append::buffer#2 )
  ultoa_append::sub#2 = phi( ultoa_append::@1/ultoa_append::sub#1 )
  ultoa_append::value#3 = phi( ultoa_append::@1/ultoa_append::value#2 )
  ultoa_append::digit#2 = phi( ultoa_append::@1/ultoa_append::digit#4 )
  ultoa_append::digit#1 = ++ ultoa_append::digit#2
  ultoa_append::value#1 = ultoa_append::value#3 - ultoa_append::sub#2
  to:ultoa_append::@1
ultoa_append::@3: scope:[ultoa_append]  from ultoa_append::@1
  ultoa_append::value#4 = phi( ultoa_append::@1/ultoa_append::value#2 )
  ultoa_append::buffer#1 = phi( ultoa_append::@1/ultoa_append::buffer#2 )
  ultoa_append::digit#3 = phi( ultoa_append::@1/ultoa_append::digit#4 )
  *ultoa_append::buffer#1 = DIGITS[ultoa_append::digit#3]
  ultoa_append::return#1 = ultoa_append::value#4
  to:ultoa_append::@return
ultoa_append::@return: scope:[ultoa_append]  from ultoa_append::@3
  ultoa_append::return#4 = phi( ultoa_append::@3/ultoa_append::return#1 )
  ultoa_append::return#2 = ultoa_append::return#4
  return 
  to:@return

void clrscr()
clrscr: scope:[clrscr]  from main
  clrscr::line_text#0 = CONIO_SCREEN_TEXT
  clrscr::line_cols#0 = CONIO_SCREEN_COLORS
  clrscr::l#0 = 0
  to:clrscr::@1
clrscr::@1: scope:[clrscr]  from clrscr clrscr::@6
  clrscr::line_cols#6 = phi( clrscr/clrscr::line_cols#0, clrscr::@6/clrscr::line_cols#1 )
  clrscr::line_text#6 = phi( clrscr/clrscr::line_text#0, clrscr::@6/clrscr::line_text#1 )
  clrscr::l#2 = phi( clrscr/clrscr::l#0, clrscr::@6/clrscr::l#1 )
  clrscr::$0 = clrscr::l#2 < $19
  if(clrscr::$0) goto clrscr::@2
  to:clrscr::@3
clrscr::@2: scope:[clrscr]  from clrscr::@1
  clrscr::l#5 = phi( clrscr::@1/clrscr::l#2 )
  clrscr::line_cols#5 = phi( clrscr::@1/clrscr::line_cols#6 )
  clrscr::line_text#5 = phi( clrscr::@1/clrscr::line_text#6 )
  clrscr::c#0 = 0
  to:clrscr::@4
clrscr::@3: scope:[clrscr]  from clrscr::@1
  conio_cursor_x = 0
  conio_cursor_y = 0
  conio_line_text = CONIO_SCREEN_TEXT
  conio_line_color = CONIO_SCREEN_COLORS
  to:clrscr::@return
clrscr::@4: scope:[clrscr]  from clrscr::@2 clrscr::@5
  clrscr::l#4 = phi( clrscr::@2/clrscr::l#5, clrscr::@5/clrscr::l#6 )
  clrscr::line_cols#4 = phi( clrscr::@2/clrscr::line_cols#5, clrscr::@5/clrscr::line_cols#2 )
  clrscr::line_text#4 = phi( clrscr::@2/clrscr::line_text#5, clrscr::@5/clrscr::line_text#2 )
  clrscr::c#2 = phi( clrscr::@2/clrscr::c#0, clrscr::@5/clrscr::c#1 )
  clrscr::$1 = clrscr::c#2 < $28
  if(clrscr::$1) goto clrscr::@5
  to:clrscr::@6
clrscr::@5: scope:[clrscr]  from clrscr::@4
  clrscr::l#6 = phi( clrscr::@4/clrscr::l#4 )
  clrscr::line_cols#2 = phi( clrscr::@4/clrscr::line_cols#4 )
  clrscr::c#3 = phi( clrscr::@4/clrscr::c#2 )
  clrscr::line_text#2 = phi( clrscr::@4/clrscr::line_text#4 )
  clrscr::line_text#2[clrscr::c#3] = ' '
  clrscr::line_cols#2[clrscr::c#3] = conio_textcolor
  clrscr::c#1 = ++ clrscr::c#3
  to:clrscr::@4
clrscr::@6: scope:[clrscr]  from clrscr::@4
  clrscr::l#3 = phi( clrscr::@4/clrscr::l#4 )
  clrscr::line_cols#3 = phi( clrscr::@4/clrscr::line_cols#4 )
  clrscr::line_text#3 = phi( clrscr::@4/clrscr::line_text#4 )
  clrscr::line_text#1 = clrscr::line_text#3 + $28
  clrscr::line_cols#1 = clrscr::line_cols#3 + $28
  clrscr::l#1 = ++ clrscr::l#3
  to:clrscr::@1
clrscr::@return: scope:[clrscr]  from clrscr::@3
  return 
  to:@return

void gotoxy(char x , char y)
gotoxy: scope:[gotoxy]  from conio_c64_init::@1 cscroll::@2 print
  gotoxy::x#6 = phi( conio_c64_init::@1/gotoxy::x#2, cscroll::@2/gotoxy::x#1, print/gotoxy::x#3 )
  gotoxy::y#4 = phi( conio_c64_init::@1/gotoxy::y#2, cscroll::@2/gotoxy::y#1, print/gotoxy::y#3 )
  gotoxy::$0 = gotoxy::y#4 > $19
  gotoxy::$1 = ! gotoxy::$0
  if(gotoxy::$1) goto gotoxy::@1
  to:gotoxy::@3
gotoxy::@1: scope:[gotoxy]  from gotoxy gotoxy::@3
  gotoxy::y#6 = phi( gotoxy/gotoxy::y#4, gotoxy::@3/gotoxy::y#0 )
  gotoxy::x#4 = phi( gotoxy/gotoxy::x#6, gotoxy::@3/gotoxy::x#7 )
  gotoxy::$2 = gotoxy::x#4 >= $28
  gotoxy::$3 = ! gotoxy::$2
  if(gotoxy::$3) goto gotoxy::@2
  to:gotoxy::@4
gotoxy::@3: scope:[gotoxy]  from gotoxy
  gotoxy::x#7 = phi( gotoxy/gotoxy::x#6 )
  gotoxy::y#0 = 0
  to:gotoxy::@1
gotoxy::@2: scope:[gotoxy]  from gotoxy::@1 gotoxy::@4
  gotoxy::y#5 = phi( gotoxy::@1/gotoxy::y#6, gotoxy::@4/gotoxy::y#7 )
  gotoxy::x#5 = phi( gotoxy::@1/gotoxy::x#4, gotoxy::@4/gotoxy::x#0 )
  conio_cursor_x = gotoxy::x#5
  conio_cursor_y = gotoxy::y#5
  gotoxy::$7 = (unsigned int)gotoxy::y#5
  gotoxy::line_offset#0 = gotoxy::$7 * $28
  gotoxy::$5 = CONIO_SCREEN_TEXT + gotoxy::line_offset#0
  conio_line_text = gotoxy::$5
  gotoxy::$6 = CONIO_SCREEN_COLORS + gotoxy::line_offset#0
  conio_line_color = gotoxy::$6
  to:gotoxy::@return
gotoxy::@4: scope:[gotoxy]  from gotoxy::@1
  gotoxy::y#7 = phi( gotoxy::@1/gotoxy::y#6 )
  gotoxy::x#0 = 0
  to:gotoxy::@2
gotoxy::@return: scope:[gotoxy]  from gotoxy::@2
  return 
  to:@return

__stackcall void cputc(char c)
cputc: scope:[cputc]  from
  cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C)
  cputc::$0 = cputc::c#0 == '
'
  if(cputc::$0) goto cputc::@1
  to:cputc::@2
cputc::@1: scope:[cputc]  from cputc
  call cputln
  to:cputc::@4
cputc::@4: scope:[cputc]  from cputc::@1
  to:cputc::@return
cputc::@2: scope:[cputc]  from cputc
  cputc::c#1 = phi( cputc/cputc::c#0 )
  conio_line_text[conio_cursor_x] = cputc::c#1
  conio_line_color[conio_cursor_x] = conio_textcolor
  conio_cursor_x = ++ conio_cursor_x
  cputc::$1 = conio_cursor_x == $28
  cputc::$2 = ! cputc::$1
  if(cputc::$2) goto cputc::@return
  to:cputc::@3
cputc::@3: scope:[cputc]  from cputc::@2
  call cputln
  to:cputc::@5
cputc::@5: scope:[cputc]  from cputc::@3
  to:cputc::@return
cputc::@return: scope:[cputc]  from cputc::@2 cputc::@4 cputc::@5
  return 
  to:@return

void cputln()
cputln: scope:[cputln]  from cputc::@1 cputc::@3
  conio_line_text = conio_line_text + $28
  conio_line_color = conio_line_color + $28
  conio_cursor_x = 0
  conio_cursor_y = ++ conio_cursor_y
  call cscroll
  to:cputln::@1
cputln::@1: scope:[cputln]  from cputln
  to:cputln::@return
cputln::@return: scope:[cputln]  from cputln::@1
  return 
  to:@return

char kbhit()
kbhit: scope:[kbhit]  from main::@1
  *kbhit::CIA1_PORT_A = 0
  kbhit::$0 = ~ *kbhit::CIA1_PORT_B
  kbhit::return#0 = kbhit::$0
  to:kbhit::@return
kbhit::@return: scope:[kbhit]  from kbhit
  kbhit::return#3 = phi( kbhit/kbhit::return#0 )
  kbhit::return#1 = kbhit::return#3
  return 
  to:@return

void cscroll()
cscroll: scope:[cscroll]  from cputln
  cscroll::$0 = conio_cursor_y == $19
  cscroll::$1 = ! cscroll::$0
  if(cscroll::$1) goto cscroll::@return
  to:cscroll::@1
cscroll::@1: scope:[cscroll]  from cscroll
  cscroll::$7 = 0 != conio_scroll_enable
  if(cscroll::$7) goto cscroll::@3
  to:cscroll::@2
cscroll::@3: scope:[cscroll]  from cscroll::@1
  memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
  memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
  memcpy::num#0 = $19*$28-$28
  call memcpy
  memcpy::return#2 = memcpy::return#1
  to:cscroll::@4
cscroll::@4: scope:[cscroll]  from cscroll::@3
  memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
  memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
  memcpy::num#1 = $19*$28-$28
  call memcpy
  memcpy::return#3 = memcpy::return#1
  to:cscroll::@5
cscroll::@5: scope:[cscroll]  from cscroll::@4
  memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
  memset::c#0 = ' '
  memset::num#0 = $28
  call memset
  memset::return#2 = memset::return#1
  to:cscroll::@6
cscroll::@6: scope:[cscroll]  from cscroll::@5
  memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
  memset::c#1 = conio_textcolor
  memset::num#1 = $28
  call memset
  memset::return#3 = memset::return#1
  to:cscroll::@7
cscroll::@7: scope:[cscroll]  from cscroll::@6
  conio_line_text = conio_line_text - $28
  conio_line_color = conio_line_color - $28
  conio_cursor_y = -- conio_cursor_y
  to:cscroll::@return
cscroll::@2: scope:[cscroll]  from cscroll::@1
  gotoxy::x#1 = 0
  gotoxy::y#1 = 0
  call gotoxy
  to:cscroll::@8
cscroll::@8: scope:[cscroll]  from cscroll::@2
  to:cscroll::@return
cscroll::@return: scope:[cscroll]  from cscroll cscroll::@7 cscroll::@8
  return 
  to:@return

void conio_c64_init()
conio_c64_init: scope:[conio_c64_init]  from __start::__init1
  conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE
  conio_c64_init::$0 = conio_c64_init::line#0 >= $19
  conio_c64_init::$1 = ! conio_c64_init::$0
  if(conio_c64_init::$1) goto conio_c64_init::@1
  to:conio_c64_init::@2
conio_c64_init::@1: scope:[conio_c64_init]  from conio_c64_init conio_c64_init::@2
  conio_c64_init::line#2 = phi( conio_c64_init/conio_c64_init::line#0, conio_c64_init::@2/conio_c64_init::line#1 )
  gotoxy::x#2 = 0
  gotoxy::y#2 = conio_c64_init::line#2
  call gotoxy
  to:conio_c64_init::@3
conio_c64_init::@3: scope:[conio_c64_init]  from conio_c64_init::@1
  to:conio_c64_init::@return
conio_c64_init::@2: scope:[conio_c64_init]  from conio_c64_init
  conio_c64_init::line#1 = $19-1
  to:conio_c64_init::@1
conio_c64_init::@return: scope:[conio_c64_init]  from conio_c64_init::@3
  return 
  to:@return

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@2 main::@3 main::@6 main::@8 print::@11 print::@12 print::@14 print::@5 print::@9 printf_number_buffer::@5
  printf_str::putc#12 = phi( main::@2/printf_str::putc#1, main::@3/printf_str::putc#2, main::@6/printf_str::putc#3, main::@8/printf_str::putc#4, print::@11/printf_str::putc#9, print::@12/printf_str::putc#5, print::@14/printf_str::putc#6, print::@5/printf_str::putc#7, print::@9/printf_str::putc#8, printf_number_buffer::@5/printf_str::putc#0 )
  printf_str::s#12 = phi( main::@2/printf_str::s#2, main::@3/printf_str::s#3, main::@6/printf_str::s#4, main::@8/printf_str::s#5, print::@11/printf_str::s#10, print::@12/printf_str::s#6, print::@14/printf_str::s#7, print::@5/printf_str::s#8, print::@9/printf_str::s#9, printf_number_buffer::@5/printf_str::s#1 )
  printf_str::c#0 = 0
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  printf_str::putc#11 = phi( printf_str/printf_str::putc#12, printf_str::@2/printf_str::putc#10 )
  printf_str::s#11 = phi( printf_str/printf_str::s#12, printf_str::@2/printf_str::s#13 )
  printf_str::c#1 = *printf_str::s#11
  printf_str::$0 = printf_str::c#1
  printf_str::s#0 = ++ printf_str::s#11
  printf_str::$2 = 0 != printf_str::$0
  if(printf_str::$2) goto printf_str::@2
  to:printf_str::@return
printf_str::@2: scope:[printf_str]  from printf_str::@1
  printf_str::s#13 = phi( printf_str::@1/printf_str::s#0 )
  printf_str::putc#10 = phi( printf_str::@1/printf_str::putc#11 )
  printf_str::c#2 = phi( printf_str::@1/printf_str::c#1 )
  stackpush(char) = printf_str::c#2
  callexecute *printf_str::putc#10 
  sideeffect stackpullbytes(1)
  to:printf_str::@1
printf_str::@return: scope:[printf_str]  from printf_str::@1
  return 
  to:@return

void printf_padding(void (*putc)(char) , char pad , char length)
printf_padding: scope:[printf_padding]  from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8
  printf_padding::putc#5 = phi( printf_number_buffer::@10/printf_padding::putc#1, printf_number_buffer::@12/printf_padding::putc#2, printf_number_buffer::@8/printf_padding::putc#0 )
  printf_padding::pad#5 = phi( printf_number_buffer::@10/printf_padding::pad#1, printf_number_buffer::@12/printf_padding::pad#2, printf_number_buffer::@8/printf_padding::pad#0 )
  printf_padding::length#4 = phi( printf_number_buffer::@10/printf_padding::length#1, printf_number_buffer::@12/printf_padding::length#2, printf_number_buffer::@8/printf_padding::length#0 )
  printf_padding::i#0 = 0
  to:printf_padding::@1
printf_padding::@1: scope:[printf_padding]  from printf_padding printf_padding::@3
  printf_padding::putc#4 = phi( printf_padding/printf_padding::putc#5, printf_padding::@3/printf_padding::putc#6 )
  printf_padding::pad#4 = phi( printf_padding/printf_padding::pad#5, printf_padding::@3/printf_padding::pad#6 )
  printf_padding::length#3 = phi( printf_padding/printf_padding::length#4, printf_padding::@3/printf_padding::length#5 )
  printf_padding::i#2 = phi( printf_padding/printf_padding::i#0, printf_padding::@3/printf_padding::i#1 )
  printf_padding::$0 = printf_padding::i#2 < printf_padding::length#3
  if(printf_padding::$0) goto printf_padding::@2
  to:printf_padding::@return
printf_padding::@2: scope:[printf_padding]  from printf_padding::@1
  printf_padding::length#6 = phi( printf_padding::@1/printf_padding::length#3 )
  printf_padding::i#4 = phi( printf_padding::@1/printf_padding::i#2 )
  printf_padding::putc#3 = phi( printf_padding::@1/printf_padding::putc#4 )
  printf_padding::pad#3 = phi( printf_padding::@1/printf_padding::pad#4 )
  stackpush(char) = printf_padding::pad#3
  callexecute *printf_padding::putc#3 
  sideeffect stackpullbytes(1)
  to:printf_padding::@3
printf_padding::@3: scope:[printf_padding]  from printf_padding::@2
  printf_padding::putc#6 = phi( printf_padding::@2/printf_padding::putc#3 )
  printf_padding::pad#6 = phi( printf_padding::@2/printf_padding::pad#3 )
  printf_padding::length#5 = phi( printf_padding::@2/printf_padding::length#6 )
  printf_padding::i#3 = phi( printf_padding::@2/printf_padding::i#4 )
  printf_padding::i#1 = ++ printf_padding::i#3
  to:printf_padding::@1
printf_padding::@return: scope:[printf_padding]  from printf_padding::@1
  return 
  to:@return

void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_ulong: scope:[printf_ulong]  from main::@7 print::@13
  printf_ulong::format_upper_case#6 = phi( main::@7/printf_ulong::format_upper_case#0, print::@13/printf_ulong::format_upper_case#1 )
  printf_ulong::format_zero_padding#6 = phi( main::@7/printf_ulong::format_zero_padding#0, print::@13/printf_ulong::format_zero_padding#1 )
  printf_ulong::format_justify_left#6 = phi( main::@7/printf_ulong::format_justify_left#0, print::@13/printf_ulong::format_justify_left#1 )
  printf_ulong::format_min_length#6 = phi( main::@7/printf_ulong::format_min_length#0, print::@13/printf_ulong::format_min_length#1 )
  printf_ulong::putc#6 = phi( main::@7/printf_ulong::putc#0, print::@13/printf_ulong::putc#1 )
  printf_ulong::format_radix#6 = phi( main::@7/printf_ulong::format_radix#0, print::@13/printf_ulong::format_radix#1 )
  printf_ulong::uvalue#5 = phi( main::@7/printf_ulong::uvalue#0, print::@13/printf_ulong::uvalue#1 )
  printf_ulong::format_sign_always#2 = phi( main::@7/printf_ulong::format_sign_always#0, print::@13/printf_ulong::format_sign_always#1 )
  printf_ulong::$5 = 0 != printf_ulong::format_sign_always#2
  if(printf_ulong::$5) goto printf_ulong::@1
  to:printf_ulong::@2
printf_ulong::@1: scope:[printf_ulong]  from printf_ulong
  printf_ulong::format_upper_case#4 = phi( printf_ulong/printf_ulong::format_upper_case#6 )
  printf_ulong::format_zero_padding#4 = phi( printf_ulong/printf_ulong::format_zero_padding#6 )
  printf_ulong::format_sign_always#5 = phi( printf_ulong/printf_ulong::format_sign_always#2 )
  printf_ulong::format_justify_left#4 = phi( printf_ulong/printf_ulong::format_justify_left#6 )
  printf_ulong::format_min_length#4 = phi( printf_ulong/printf_ulong::format_min_length#6 )
  printf_ulong::putc#4 = phi( printf_ulong/printf_ulong::putc#6 )
  printf_ulong::format_radix#4 = phi( printf_ulong/printf_ulong::format_radix#6 )
  printf_ulong::uvalue#3 = phi( printf_ulong/printf_ulong::uvalue#5 )
  printf_ulong::$1 = '+'
  to:printf_ulong::@3
printf_ulong::@2: scope:[printf_ulong]  from printf_ulong
  printf_ulong::format_upper_case#5 = phi( printf_ulong/printf_ulong::format_upper_case#6 )
  printf_ulong::format_zero_padding#5 = phi( printf_ulong/printf_ulong::format_zero_padding#6 )
  printf_ulong::format_sign_always#6 = phi( printf_ulong/printf_ulong::format_sign_always#2 )
  printf_ulong::format_justify_left#5 = phi( printf_ulong/printf_ulong::format_justify_left#6 )
  printf_ulong::format_min_length#5 = phi( printf_ulong/printf_ulong::format_min_length#6 )
  printf_ulong::putc#5 = phi( printf_ulong/printf_ulong::putc#6 )
  printf_ulong::format_radix#5 = phi( printf_ulong/printf_ulong::format_radix#6 )
  printf_ulong::uvalue#4 = phi( printf_ulong/printf_ulong::uvalue#5 )
  printf_ulong::$0 = 0
  to:printf_ulong::@3
printf_ulong::@3: scope:[printf_ulong]  from printf_ulong::@1 printf_ulong::@2
  printf_ulong::format_upper_case#3 = phi( printf_ulong::@1/printf_ulong::format_upper_case#4, printf_ulong::@2/printf_ulong::format_upper_case#5 )
  printf_ulong::format_zero_padding#3 = phi( printf_ulong::@1/printf_ulong::format_zero_padding#4, printf_ulong::@2/printf_ulong::format_zero_padding#5 )
  printf_ulong::format_sign_always#4 = phi( printf_ulong::@1/printf_ulong::format_sign_always#5, printf_ulong::@2/printf_ulong::format_sign_always#6 )
  printf_ulong::format_justify_left#3 = phi( printf_ulong::@1/printf_ulong::format_justify_left#4, printf_ulong::@2/printf_ulong::format_justify_left#5 )
  printf_ulong::format_min_length#3 = phi( printf_ulong::@1/printf_ulong::format_min_length#4, printf_ulong::@2/printf_ulong::format_min_length#5 )
  printf_ulong::putc#3 = phi( printf_ulong::@1/printf_ulong::putc#4, printf_ulong::@2/printf_ulong::putc#5 )
  printf_ulong::format_radix#2 = phi( printf_ulong::@1/printf_ulong::format_radix#4, printf_ulong::@2/printf_ulong::format_radix#5 )
  printf_ulong::uvalue#2 = phi( printf_ulong::@1/printf_ulong::uvalue#3, printf_ulong::@2/printf_ulong::uvalue#4 )
  printf_ulong::$2 = phi( printf_ulong::@1/printf_ulong::$1, printf_ulong::@2/printf_ulong::$0 )
  *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_ulong::$2
  ultoa::value#1 = printf_ulong::uvalue#2
  ultoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
  ultoa::radix#0 = printf_ulong::format_radix#2
  call ultoa
  to:printf_ulong::@4
printf_ulong::@4: scope:[printf_ulong]  from printf_ulong::@3
  printf_ulong::format_radix#3 = phi( printf_ulong::@3/printf_ulong::format_radix#2 )
  printf_ulong::format_upper_case#2 = phi( printf_ulong::@3/printf_ulong::format_upper_case#3 )
  printf_ulong::format_zero_padding#2 = phi( printf_ulong::@3/printf_ulong::format_zero_padding#3 )
  printf_ulong::format_sign_always#3 = phi( printf_ulong::@3/printf_ulong::format_sign_always#4 )
  printf_ulong::format_justify_left#2 = phi( printf_ulong::@3/printf_ulong::format_justify_left#3 )
  printf_ulong::format_min_length#2 = phi( printf_ulong::@3/printf_ulong::format_min_length#3 )
  printf_ulong::putc#2 = phi( printf_ulong::@3/printf_ulong::putc#3 )
  printf_number_buffer::putc#0 = printf_ulong::putc#2
  printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
  printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
  printf_number_buffer::format_min_length#0 = printf_ulong::format_min_length#2
  printf_number_buffer::format_justify_left#0 = printf_ulong::format_justify_left#2
  printf_number_buffer::format_sign_always#0 = printf_ulong::format_sign_always#3
  printf_number_buffer::format_zero_padding#0 = printf_ulong::format_zero_padding#2
  printf_number_buffer::format_upper_case#0 = printf_ulong::format_upper_case#2
  printf_number_buffer::format_radix#0 = printf_ulong::format_radix#3
  call printf_number_buffer
  to:printf_ulong::@5
printf_ulong::@5: scope:[printf_ulong]  from printf_ulong::@4
  to:printf_ulong::@return
printf_ulong::@return: scope:[printf_ulong]  from printf_ulong::@5
  return 
  to:@return

void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uint: scope:[printf_uint]  from main::@4
  printf_uint::format_upper_case#5 = phi( main::@4/printf_uint::format_upper_case#0 )
  printf_uint::format_zero_padding#5 = phi( main::@4/printf_uint::format_zero_padding#0 )
  printf_uint::format_justify_left#5 = phi( main::@4/printf_uint::format_justify_left#0 )
  printf_uint::format_min_length#5 = phi( main::@4/printf_uint::format_min_length#0 )
  printf_uint::putc#5 = phi( main::@4/printf_uint::putc#0 )
  printf_uint::format_radix#5 = phi( main::@4/printf_uint::format_radix#0 )
  printf_uint::uvalue#4 = phi( main::@4/printf_uint::uvalue#0 )
  printf_uint::format_sign_always#1 = phi( main::@4/printf_uint::format_sign_always#0 )
  printf_uint::$5 = 0 != printf_uint::format_sign_always#1
  if(printf_uint::$5) goto printf_uint::@1
  to:printf_uint::@2
printf_uint::@1: scope:[printf_uint]  from printf_uint
  printf_uint::format_upper_case#3 = phi( printf_uint/printf_uint::format_upper_case#5 )
  printf_uint::format_zero_padding#3 = phi( printf_uint/printf_uint::format_zero_padding#5 )
  printf_uint::format_sign_always#4 = phi( printf_uint/printf_uint::format_sign_always#1 )
  printf_uint::format_justify_left#3 = phi( printf_uint/printf_uint::format_justify_left#5 )
  printf_uint::format_min_length#3 = phi( printf_uint/printf_uint::format_min_length#5 )
  printf_uint::putc#3 = phi( printf_uint/printf_uint::putc#5 )
  printf_uint::format_radix#3 = phi( printf_uint/printf_uint::format_radix#5 )
  printf_uint::uvalue#2 = phi( printf_uint/printf_uint::uvalue#4 )
  printf_uint::$1 = '+'
  to:printf_uint::@3
printf_uint::@2: scope:[printf_uint]  from printf_uint
  printf_uint::format_upper_case#4 = phi( printf_uint/printf_uint::format_upper_case#5 )
  printf_uint::format_zero_padding#4 = phi( printf_uint/printf_uint::format_zero_padding#5 )
  printf_uint::format_sign_always#5 = phi( printf_uint/printf_uint::format_sign_always#1 )
  printf_uint::format_justify_left#4 = phi( printf_uint/printf_uint::format_justify_left#5 )
  printf_uint::format_min_length#4 = phi( printf_uint/printf_uint::format_min_length#5 )
  printf_uint::putc#4 = phi( printf_uint/printf_uint::putc#5 )
  printf_uint::format_radix#4 = phi( printf_uint/printf_uint::format_radix#5 )
  printf_uint::uvalue#3 = phi( printf_uint/printf_uint::uvalue#4 )
  printf_uint::$0 = 0
  to:printf_uint::@3
printf_uint::@3: scope:[printf_uint]  from printf_uint::@1 printf_uint::@2
  printf_uint::format_upper_case#2 = phi( printf_uint::@1/printf_uint::format_upper_case#3, printf_uint::@2/printf_uint::format_upper_case#4 )
  printf_uint::format_zero_padding#2 = phi( printf_uint::@1/printf_uint::format_zero_padding#3, printf_uint::@2/printf_uint::format_zero_padding#4 )
  printf_uint::format_sign_always#3 = phi( printf_uint::@1/printf_uint::format_sign_always#4, printf_uint::@2/printf_uint::format_sign_always#5 )
  printf_uint::format_justify_left#2 = phi( printf_uint::@1/printf_uint::format_justify_left#3, printf_uint::@2/printf_uint::format_justify_left#4 )
  printf_uint::format_min_length#2 = phi( printf_uint::@1/printf_uint::format_min_length#3, printf_uint::@2/printf_uint::format_min_length#4 )
  printf_uint::putc#2 = phi( printf_uint::@1/printf_uint::putc#3, printf_uint::@2/printf_uint::putc#4 )
  printf_uint::format_radix#1 = phi( printf_uint::@1/printf_uint::format_radix#3, printf_uint::@2/printf_uint::format_radix#4 )
  printf_uint::uvalue#1 = phi( printf_uint::@1/printf_uint::uvalue#2, printf_uint::@2/printf_uint::uvalue#3 )
  printf_uint::$2 = phi( printf_uint::@1/printf_uint::$1, printf_uint::@2/printf_uint::$0 )
  *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uint::$2
  utoa::value#1 = printf_uint::uvalue#1
  utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
  utoa::radix#0 = printf_uint::format_radix#1
  call utoa
  to:printf_uint::@4
printf_uint::@4: scope:[printf_uint]  from printf_uint::@3
  printf_uint::format_radix#2 = phi( printf_uint::@3/printf_uint::format_radix#1 )
  printf_uint::format_upper_case#1 = phi( printf_uint::@3/printf_uint::format_upper_case#2 )
  printf_uint::format_zero_padding#1 = phi( printf_uint::@3/printf_uint::format_zero_padding#2 )
  printf_uint::format_sign_always#2 = phi( printf_uint::@3/printf_uint::format_sign_always#3 )
  printf_uint::format_justify_left#1 = phi( printf_uint::@3/printf_uint::format_justify_left#2 )
  printf_uint::format_min_length#1 = phi( printf_uint::@3/printf_uint::format_min_length#2 )
  printf_uint::putc#1 = phi( printf_uint::@3/printf_uint::putc#2 )
  printf_number_buffer::putc#1 = printf_uint::putc#1
  printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
  printf_number_buffer::buffer_digits#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
  printf_number_buffer::format_min_length#1 = printf_uint::format_min_length#1
  printf_number_buffer::format_justify_left#1 = printf_uint::format_justify_left#1
  printf_number_buffer::format_sign_always#1 = printf_uint::format_sign_always#2
  printf_number_buffer::format_zero_padding#1 = printf_uint::format_zero_padding#1
  printf_number_buffer::format_upper_case#1 = printf_uint::format_upper_case#1
  printf_number_buffer::format_radix#1 = printf_uint::format_radix#2
  call printf_number_buffer
  to:printf_uint::@5
printf_uint::@5: scope:[printf_uint]  from printf_uint::@4
  to:printf_uint::@return
printf_uint::@return: scope:[printf_uint]  from printf_uint::@5
  return 
  to:@return

void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uchar: scope:[printf_uchar]  from print::@17 print::@2
  printf_uchar::format_upper_case#6 = phi( print::@17/printf_uchar::format_upper_case#1, print::@2/printf_uchar::format_upper_case#0 )
  printf_uchar::format_zero_padding#6 = phi( print::@17/printf_uchar::format_zero_padding#1, print::@2/printf_uchar::format_zero_padding#0 )
  printf_uchar::format_justify_left#6 = phi( print::@17/printf_uchar::format_justify_left#1, print::@2/printf_uchar::format_justify_left#0 )
  printf_uchar::format_min_length#6 = phi( print::@17/printf_uchar::format_min_length#1, print::@2/printf_uchar::format_min_length#0 )
  printf_uchar::putc#6 = phi( print::@17/printf_uchar::putc#1, print::@2/printf_uchar::putc#0 )
  printf_uchar::format_radix#6 = phi( print::@17/printf_uchar::format_radix#1, print::@2/printf_uchar::format_radix#0 )
  printf_uchar::uvalue#5 = phi( print::@17/printf_uchar::uvalue#1, print::@2/printf_uchar::uvalue#0 )
  printf_uchar::format_sign_always#2 = phi( print::@17/printf_uchar::format_sign_always#1, print::@2/printf_uchar::format_sign_always#0 )
  printf_uchar::$5 = 0 != printf_uchar::format_sign_always#2
  if(printf_uchar::$5) goto printf_uchar::@1
  to:printf_uchar::@2
printf_uchar::@1: scope:[printf_uchar]  from printf_uchar
  printf_uchar::format_upper_case#4 = phi( printf_uchar/printf_uchar::format_upper_case#6 )
  printf_uchar::format_zero_padding#4 = phi( printf_uchar/printf_uchar::format_zero_padding#6 )
  printf_uchar::format_sign_always#5 = phi( printf_uchar/printf_uchar::format_sign_always#2 )
  printf_uchar::format_justify_left#4 = phi( printf_uchar/printf_uchar::format_justify_left#6 )
  printf_uchar::format_min_length#4 = phi( printf_uchar/printf_uchar::format_min_length#6 )
  printf_uchar::putc#4 = phi( printf_uchar/printf_uchar::putc#6 )
  printf_uchar::format_radix#4 = phi( printf_uchar/printf_uchar::format_radix#6 )
  printf_uchar::uvalue#3 = phi( printf_uchar/printf_uchar::uvalue#5 )
  printf_uchar::$1 = '+'
  to:printf_uchar::@3
printf_uchar::@2: scope:[printf_uchar]  from printf_uchar
  printf_uchar::format_upper_case#5 = phi( printf_uchar/printf_uchar::format_upper_case#6 )
  printf_uchar::format_zero_padding#5 = phi( printf_uchar/printf_uchar::format_zero_padding#6 )
  printf_uchar::format_sign_always#6 = phi( printf_uchar/printf_uchar::format_sign_always#2 )
  printf_uchar::format_justify_left#5 = phi( printf_uchar/printf_uchar::format_justify_left#6 )
  printf_uchar::format_min_length#5 = phi( printf_uchar/printf_uchar::format_min_length#6 )
  printf_uchar::putc#5 = phi( printf_uchar/printf_uchar::putc#6 )
  printf_uchar::format_radix#5 = phi( printf_uchar/printf_uchar::format_radix#6 )
  printf_uchar::uvalue#4 = phi( printf_uchar/printf_uchar::uvalue#5 )
  printf_uchar::$0 = 0
  to:printf_uchar::@3
printf_uchar::@3: scope:[printf_uchar]  from printf_uchar::@1 printf_uchar::@2
  printf_uchar::format_upper_case#3 = phi( printf_uchar::@1/printf_uchar::format_upper_case#4, printf_uchar::@2/printf_uchar::format_upper_case#5 )
  printf_uchar::format_zero_padding#3 = phi( printf_uchar::@1/printf_uchar::format_zero_padding#4, printf_uchar::@2/printf_uchar::format_zero_padding#5 )
  printf_uchar::format_sign_always#4 = phi( printf_uchar::@1/printf_uchar::format_sign_always#5, printf_uchar::@2/printf_uchar::format_sign_always#6 )
  printf_uchar::format_justify_left#3 = phi( printf_uchar::@1/printf_uchar::format_justify_left#4, printf_uchar::@2/printf_uchar::format_justify_left#5 )
  printf_uchar::format_min_length#3 = phi( printf_uchar::@1/printf_uchar::format_min_length#4, printf_uchar::@2/printf_uchar::format_min_length#5 )
  printf_uchar::putc#3 = phi( printf_uchar::@1/printf_uchar::putc#4, printf_uchar::@2/printf_uchar::putc#5 )
  printf_uchar::format_radix#2 = phi( printf_uchar::@1/printf_uchar::format_radix#4, printf_uchar::@2/printf_uchar::format_radix#5 )
  printf_uchar::uvalue#2 = phi( printf_uchar::@1/printf_uchar::uvalue#3, printf_uchar::@2/printf_uchar::uvalue#4 )
  printf_uchar::$2 = phi( printf_uchar::@1/printf_uchar::$1, printf_uchar::@2/printf_uchar::$0 )
  *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uchar::$2
  uctoa::value#1 = printf_uchar::uvalue#2
  uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
  uctoa::radix#0 = printf_uchar::format_radix#2
  call uctoa
  to:printf_uchar::@4
printf_uchar::@4: scope:[printf_uchar]  from printf_uchar::@3
  printf_uchar::format_radix#3 = phi( printf_uchar::@3/printf_uchar::format_radix#2 )
  printf_uchar::format_upper_case#2 = phi( printf_uchar::@3/printf_uchar::format_upper_case#3 )
  printf_uchar::format_zero_padding#2 = phi( printf_uchar::@3/printf_uchar::format_zero_padding#3 )
  printf_uchar::format_sign_always#3 = phi( printf_uchar::@3/printf_uchar::format_sign_always#4 )
  printf_uchar::format_justify_left#2 = phi( printf_uchar::@3/printf_uchar::format_justify_left#3 )
  printf_uchar::format_min_length#2 = phi( printf_uchar::@3/printf_uchar::format_min_length#3 )
  printf_uchar::putc#2 = phi( printf_uchar::@3/printf_uchar::putc#3 )
  printf_number_buffer::putc#2 = printf_uchar::putc#2
  printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
  printf_number_buffer::buffer_digits#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
  printf_number_buffer::format_min_length#2 = printf_uchar::format_min_length#2
  printf_number_buffer::format_justify_left#2 = printf_uchar::format_justify_left#2
  printf_number_buffer::format_sign_always#2 = printf_uchar::format_sign_always#3
  printf_number_buffer::format_zero_padding#2 = printf_uchar::format_zero_padding#2
  printf_number_buffer::format_upper_case#2 = printf_uchar::format_upper_case#2
  printf_number_buffer::format_radix#2 = printf_uchar::format_radix#3
  call printf_number_buffer
  to:printf_uchar::@5
printf_uchar::@5: scope:[printf_uchar]  from printf_uchar::@4
  to:printf_uchar::@return
printf_uchar::@return: scope:[printf_uchar]  from printf_uchar::@5
  return 
  to:@return

void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_number_buffer: scope:[printf_number_buffer]  from printf_uchar::@4 printf_uint::@4 printf_ulong::@4
  printf_number_buffer::format_upper_case#11 = phi( printf_uchar::@4/printf_number_buffer::format_upper_case#2, printf_uint::@4/printf_number_buffer::format_upper_case#1, printf_ulong::@4/printf_number_buffer::format_upper_case#0 )
  printf_number_buffer::putc#14 = phi( printf_uchar::@4/printf_number_buffer::putc#2, printf_uint::@4/printf_number_buffer::putc#1, printf_ulong::@4/printf_number_buffer::putc#0 )
  printf_number_buffer::buffer_sign#9 = phi( printf_uchar::@4/printf_number_buffer::buffer_sign#2, printf_uint::@4/printf_number_buffer::buffer_sign#1, printf_ulong::@4/printf_number_buffer::buffer_sign#0 )
  printf_number_buffer::buffer_digits#6 = phi( printf_uchar::@4/printf_number_buffer::buffer_digits#2, printf_uint::@4/printf_number_buffer::buffer_digits#1, printf_ulong::@4/printf_number_buffer::buffer_digits#0 )
  printf_number_buffer::format_zero_padding#6 = phi( printf_uchar::@4/printf_number_buffer::format_zero_padding#2, printf_uint::@4/printf_number_buffer::format_zero_padding#1, printf_ulong::@4/printf_number_buffer::format_zero_padding#0 )
  printf_number_buffer::format_justify_left#5 = phi( printf_uchar::@4/printf_number_buffer::format_justify_left#2, printf_uint::@4/printf_number_buffer::format_justify_left#1, printf_ulong::@4/printf_number_buffer::format_justify_left#0 )
  printf_number_buffer::format_min_length#3 = phi( printf_uchar::@4/printf_number_buffer::format_min_length#2, printf_uint::@4/printf_number_buffer::format_min_length#1, printf_ulong::@4/printf_number_buffer::format_min_length#0 )
  printf_number_buffer::padding#0 = 0
  printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#3
  printf_number_buffer::$0 = ! printf_number_buffer::$26
  if(printf_number_buffer::$0) goto printf_number_buffer::@1
  to:printf_number_buffer::@6
printf_number_buffer::@1: scope:[printf_number_buffer]  from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@14
  printf_number_buffer::buffer_digits#14 = phi( printf_number_buffer/printf_number_buffer::buffer_digits#6, printf_number_buffer::@13/printf_number_buffer::buffer_digits#16, printf_number_buffer::@14/printf_number_buffer::buffer_digits#17 )
  printf_number_buffer::format_upper_case#9 = phi( printf_number_buffer/printf_number_buffer::format_upper_case#11, printf_number_buffer::@13/printf_number_buffer::format_upper_case#12, printf_number_buffer::@14/printf_number_buffer::format_upper_case#13 )
  printf_number_buffer::putc#8 = phi( printf_number_buffer/printf_number_buffer::putc#14, printf_number_buffer::@13/printf_number_buffer::putc#15, printf_number_buffer::@14/printf_number_buffer::putc#16 )
  printf_number_buffer::buffer_sign#7 = phi( printf_number_buffer/printf_number_buffer::buffer_sign#9, printf_number_buffer::@13/printf_number_buffer::buffer_sign#10, printf_number_buffer::@14/printf_number_buffer::buffer_sign#11 )
  printf_number_buffer::padding#3 = phi( printf_number_buffer/printf_number_buffer::padding#0, printf_number_buffer::@13/printf_number_buffer::padding#1, printf_number_buffer::@14/printf_number_buffer::padding#2 )
  printf_number_buffer::format_zero_padding#3 = phi( printf_number_buffer/printf_number_buffer::format_zero_padding#6, printf_number_buffer::@13/printf_number_buffer::format_zero_padding#7, printf_number_buffer::@14/printf_number_buffer::format_zero_padding#8 )
  printf_number_buffer::format_justify_left#3 = phi( printf_number_buffer/printf_number_buffer::format_justify_left#5, printf_number_buffer::@13/printf_number_buffer::format_justify_left#6, printf_number_buffer::@14/printf_number_buffer::format_justify_left#7 )
  printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#3
  printf_number_buffer::$1 = ! printf_number_buffer::$27
  printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#3
  printf_number_buffer::$2 = ! printf_number_buffer::$28
  printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
  printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#3
  printf_number_buffer::$5 = ! printf_number_buffer::$4
  if(printf_number_buffer::$5) goto printf_number_buffer::@2
  to:printf_number_buffer::@8
printf_number_buffer::@6: scope:[printf_number_buffer]  from printf_number_buffer
  printf_number_buffer::format_upper_case#17 = phi( printf_number_buffer/printf_number_buffer::format_upper_case#11 )
  printf_number_buffer::putc#22 = phi( printf_number_buffer/printf_number_buffer::putc#14 )
  printf_number_buffer::format_zero_padding#17 = phi( printf_number_buffer/printf_number_buffer::format_zero_padding#6 )
  printf_number_buffer::format_justify_left#13 = phi( printf_number_buffer/printf_number_buffer::format_justify_left#5 )
  printf_number_buffer::format_min_length#7 = phi( printf_number_buffer/printf_number_buffer::format_min_length#3 )
  printf_number_buffer::buffer_sign#6 = phi( printf_number_buffer/printf_number_buffer::buffer_sign#9 )
  printf_number_buffer::buffer_digits#3 = phi( printf_number_buffer/printf_number_buffer::buffer_digits#6 )
  strlen::str#1 = printf_number_buffer::buffer_digits#3
  call strlen
  strlen::return#2 = strlen::return#1
  to:printf_number_buffer::@15
printf_number_buffer::@15: scope:[printf_number_buffer]  from printf_number_buffer::@6
  printf_number_buffer::buffer_digits#19 = phi( printf_number_buffer::@6/printf_number_buffer::buffer_digits#3 )
  printf_number_buffer::format_upper_case#15 = phi( printf_number_buffer::@6/printf_number_buffer::format_upper_case#17 )
  printf_number_buffer::putc#20 = phi( printf_number_buffer::@6/printf_number_buffer::putc#22 )
  printf_number_buffer::format_zero_padding#12 = phi( printf_number_buffer::@6/printf_number_buffer::format_zero_padding#17 )
  printf_number_buffer::format_justify_left#9 = phi( printf_number_buffer::@6/printf_number_buffer::format_justify_left#13 )
  printf_number_buffer::format_min_length#5 = phi( printf_number_buffer::@6/printf_number_buffer::format_min_length#7 )
  printf_number_buffer::buffer_sign#3 = phi( printf_number_buffer::@6/printf_number_buffer::buffer_sign#6 )
  strlen::return#4 = phi( printf_number_buffer::@6/strlen::return#2 )
  printf_number_buffer::$19 = strlen::return#4
  printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19
  printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#3
  printf_number_buffer::$20 = ! printf_number_buffer::$29
  if(printf_number_buffer::$20) goto printf_number_buffer::@13
  to:printf_number_buffer::@7
printf_number_buffer::@13: scope:[printf_number_buffer]  from printf_number_buffer::@15 printf_number_buffer::@7
  printf_number_buffer::buffer_digits#16 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_digits#19, printf_number_buffer::@7/printf_number_buffer::buffer_digits#20 )
  printf_number_buffer::format_upper_case#12 = phi( printf_number_buffer::@15/printf_number_buffer::format_upper_case#15, printf_number_buffer::@7/printf_number_buffer::format_upper_case#16 )
  printf_number_buffer::putc#15 = phi( printf_number_buffer::@15/printf_number_buffer::putc#20, printf_number_buffer::@7/printf_number_buffer::putc#21 )
  printf_number_buffer::buffer_sign#10 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_sign#3, printf_number_buffer::@7/printf_number_buffer::buffer_sign#13 )
  printf_number_buffer::format_zero_padding#7 = phi( printf_number_buffer::@15/printf_number_buffer::format_zero_padding#12, printf_number_buffer::@7/printf_number_buffer::format_zero_padding#13 )
  printf_number_buffer::format_justify_left#6 = phi( printf_number_buffer::@15/printf_number_buffer::format_justify_left#9, printf_number_buffer::@7/printf_number_buffer::format_justify_left#10 )
  printf_number_buffer::len#2 = phi( printf_number_buffer::@15/printf_number_buffer::len#0, printf_number_buffer::@7/printf_number_buffer::len#1 )
  printf_number_buffer::format_min_length#4 = phi( printf_number_buffer::@15/printf_number_buffer::format_min_length#5, printf_number_buffer::@7/printf_number_buffer::format_min_length#6 )
  printf_number_buffer::$25 = (signed char)printf_number_buffer::format_min_length#4
  printf_number_buffer::$21 = printf_number_buffer::$25 - printf_number_buffer::len#2
  printf_number_buffer::padding#1 = printf_number_buffer::$21
  printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
  printf_number_buffer::$23 = ! printf_number_buffer::$22
  if(printf_number_buffer::$23) goto printf_number_buffer::@1
  to:printf_number_buffer::@14
printf_number_buffer::@7: scope:[printf_number_buffer]  from printf_number_buffer::@15
  printf_number_buffer::buffer_digits#20 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_digits#19 )
  printf_number_buffer::format_upper_case#16 = phi( printf_number_buffer::@15/printf_number_buffer::format_upper_case#15 )
  printf_number_buffer::putc#21 = phi( printf_number_buffer::@15/printf_number_buffer::putc#20 )
  printf_number_buffer::buffer_sign#13 = phi( printf_number_buffer::@15/printf_number_buffer::buffer_sign#3 )
  printf_number_buffer::format_zero_padding#13 = phi( printf_number_buffer::@15/printf_number_buffer::format_zero_padding#12 )
  printf_number_buffer::format_justify_left#10 = phi( printf_number_buffer::@15/printf_number_buffer::format_justify_left#9 )
  printf_number_buffer::format_min_length#6 = phi( printf_number_buffer::@15/printf_number_buffer::format_min_length#5 )
  printf_number_buffer::len#3 = phi( printf_number_buffer::@15/printf_number_buffer::len#0 )
  printf_number_buffer::len#1 = ++ printf_number_buffer::len#3
  to:printf_number_buffer::@13
printf_number_buffer::@14: scope:[printf_number_buffer]  from printf_number_buffer::@13
  printf_number_buffer::buffer_digits#17 = phi( printf_number_buffer::@13/printf_number_buffer::buffer_digits#16 )
  printf_number_buffer::format_upper_case#13 = phi( printf_number_buffer::@13/printf_number_buffer::format_upper_case#12 )
  printf_number_buffer::putc#16 = phi( printf_number_buffer::@13/printf_number_buffer::putc#15 )
  printf_number_buffer::buffer_sign#11 = phi( printf_number_buffer::@13/printf_number_buffer::buffer_sign#10 )
  printf_number_buffer::format_zero_padding#8 = phi( printf_number_buffer::@13/printf_number_buffer::format_zero_padding#7 )
  printf_number_buffer::format_justify_left#7 = phi( printf_number_buffer::@13/printf_number_buffer::format_justify_left#6 )
  printf_number_buffer::padding#2 = 0
  to:printf_number_buffer::@1
printf_number_buffer::@2: scope:[printf_number_buffer]  from printf_number_buffer::@1 printf_number_buffer::@16
  printf_number_buffer::format_justify_left#17 = phi( printf_number_buffer::@1/printf_number_buffer::format_justify_left#3, printf_number_buffer::@16/printf_number_buffer::format_justify_left#20 )
  printf_number_buffer::buffer_digits#11 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_digits#14, printf_number_buffer::@16/printf_number_buffer::buffer_digits#15 )
  printf_number_buffer::format_upper_case#6 = phi( printf_number_buffer::@1/printf_number_buffer::format_upper_case#9, printf_number_buffer::@16/printf_number_buffer::format_upper_case#10 )
  printf_number_buffer::putc#9 = phi( printf_number_buffer::@1/printf_number_buffer::putc#8, printf_number_buffer::@16/printf_number_buffer::putc#17 )
  printf_number_buffer::padding#9 = phi( printf_number_buffer::@1/printf_number_buffer::padding#3, printf_number_buffer::@16/printf_number_buffer::padding#12 )
  printf_number_buffer::format_zero_padding#9 = phi( printf_number_buffer::@1/printf_number_buffer::format_zero_padding#3, printf_number_buffer::@16/printf_number_buffer::format_zero_padding#14 )
  printf_number_buffer::buffer_sign#4 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_sign#7, printf_number_buffer::@16/printf_number_buffer::buffer_sign#8 )
  printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#4
  printf_number_buffer::$7 = ! printf_number_buffer::$30
  if(printf_number_buffer::$7) goto printf_number_buffer::@3
  to:printf_number_buffer::@9
printf_number_buffer::@8: scope:[printf_number_buffer]  from printf_number_buffer::@1
  printf_number_buffer::format_justify_left#21 = phi( printf_number_buffer::@1/printf_number_buffer::format_justify_left#3 )
  printf_number_buffer::buffer_digits#18 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_digits#14 )
  printf_number_buffer::format_upper_case#14 = phi( printf_number_buffer::@1/printf_number_buffer::format_upper_case#9 )
  printf_number_buffer::format_zero_padding#18 = phi( printf_number_buffer::@1/printf_number_buffer::format_zero_padding#3 )
  printf_number_buffer::buffer_sign#12 = phi( printf_number_buffer::@1/printf_number_buffer::buffer_sign#7 )
  printf_number_buffer::padding#4 = phi( printf_number_buffer::@1/printf_number_buffer::padding#3 )
  printf_number_buffer::putc#3 = phi( printf_number_buffer::@1/printf_number_buffer::putc#8 )
  printf_padding::putc#0 = printf_number_buffer::putc#3
  printf_padding::pad#0 = ' '
  printf_padding::length#0 = (char)printf_number_buffer::padding#4
  call printf_padding
  to:printf_number_buffer::@16
printf_number_buffer::@16: scope:[printf_number_buffer]  from printf_number_buffer::@8
  printf_number_buffer::format_justify_left#20 = phi( printf_number_buffer::@8/printf_number_buffer::format_justify_left#21 )
  printf_number_buffer::buffer_digits#15 = phi( printf_number_buffer::@8/printf_number_buffer::buffer_digits#18 )
  printf_number_buffer::format_upper_case#10 = phi( printf_number_buffer::@8/printf_number_buffer::format_upper_case#14 )
  printf_number_buffer::putc#17 = phi( printf_number_buffer::@8/printf_number_buffer::putc#3 )
  printf_number_buffer::padding#12 = phi( printf_number_buffer::@8/printf_number_buffer::padding#4 )
  printf_number_buffer::format_zero_padding#14 = phi( printf_number_buffer::@8/printf_number_buffer::format_zero_padding#18 )
  printf_number_buffer::buffer_sign#8 = phi( printf_number_buffer::@8/printf_number_buffer::buffer_sign#12 )
  to:printf_number_buffer::@2
printf_number_buffer::@3: scope:[printf_number_buffer]  from printf_number_buffer::@2 printf_number_buffer::@9
  printf_number_buffer::format_justify_left#15 = phi( printf_number_buffer::@2/printf_number_buffer::format_justify_left#17, printf_number_buffer::@9/printf_number_buffer::format_justify_left#18 )
  printf_number_buffer::buffer_digits#10 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_digits#11, printf_number_buffer::@9/printf_number_buffer::buffer_digits#12 )
  printf_number_buffer::putc#10 = phi( printf_number_buffer::@2/printf_number_buffer::putc#9, printf_number_buffer::@9/printf_number_buffer::putc#4 )
  printf_number_buffer::format_upper_case#5 = phi( printf_number_buffer::@2/printf_number_buffer::format_upper_case#6, printf_number_buffer::@9/printf_number_buffer::format_upper_case#7 )
  printf_number_buffer::padding#5 = phi( printf_number_buffer::@2/printf_number_buffer::padding#9, printf_number_buffer::@9/printf_number_buffer::padding#10 )
  printf_number_buffer::format_zero_padding#4 = phi( printf_number_buffer::@2/printf_number_buffer::format_zero_padding#9, printf_number_buffer::@9/printf_number_buffer::format_zero_padding#10 )
  printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#4 && printf_number_buffer::padding#5
  printf_number_buffer::$10 = ! printf_number_buffer::$9
  if(printf_number_buffer::$10) goto printf_number_buffer::@4
  to:printf_number_buffer::@10
printf_number_buffer::@9: scope:[printf_number_buffer]  from printf_number_buffer::@2
  printf_number_buffer::format_justify_left#18 = phi( printf_number_buffer::@2/printf_number_buffer::format_justify_left#17 )
  printf_number_buffer::buffer_digits#12 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_digits#11 )
  printf_number_buffer::format_upper_case#7 = phi( printf_number_buffer::@2/printf_number_buffer::format_upper_case#6 )
  printf_number_buffer::padding#10 = phi( printf_number_buffer::@2/printf_number_buffer::padding#9 )
  printf_number_buffer::format_zero_padding#10 = phi( printf_number_buffer::@2/printf_number_buffer::format_zero_padding#9 )
  printf_number_buffer::putc#4 = phi( printf_number_buffer::@2/printf_number_buffer::putc#9 )
  printf_number_buffer::buffer_sign#5 = phi( printf_number_buffer::@2/printf_number_buffer::buffer_sign#4 )
  stackpush(char) = printf_number_buffer::buffer_sign#5
  callexecute *printf_number_buffer::putc#4 
  sideeffect stackpullbytes(1)
  to:printf_number_buffer::@3
printf_number_buffer::@4: scope:[printf_number_buffer]  from printf_number_buffer::@17 printf_number_buffer::@3
  printf_number_buffer::padding#14 = phi( printf_number_buffer::@17/printf_number_buffer::padding#15, printf_number_buffer::@3/printf_number_buffer::padding#5 )
  printf_number_buffer::format_justify_left#12 = phi( printf_number_buffer::@17/printf_number_buffer::format_justify_left#14, printf_number_buffer::@3/printf_number_buffer::format_justify_left#15 )
  printf_number_buffer::format_zero_padding#16 = phi( printf_number_buffer::@17/printf_number_buffer::format_zero_padding#19, printf_number_buffer::@3/printf_number_buffer::format_zero_padding#4 )
  printf_number_buffer::buffer_digits#8 = phi( printf_number_buffer::@17/printf_number_buffer::buffer_digits#9, printf_number_buffer::@3/printf_number_buffer::buffer_digits#10 )
  printf_number_buffer::putc#12 = phi( printf_number_buffer::@17/printf_number_buffer::putc#18, printf_number_buffer::@3/printf_number_buffer::putc#10 )
  printf_number_buffer::format_upper_case#3 = phi( printf_number_buffer::@17/printf_number_buffer::format_upper_case#4, printf_number_buffer::@3/printf_number_buffer::format_upper_case#5 )
  printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#3
  printf_number_buffer::$12 = ! printf_number_buffer::$31
  if(printf_number_buffer::$12) goto printf_number_buffer::@5
  to:printf_number_buffer::@11
printf_number_buffer::@10: scope:[printf_number_buffer]  from printf_number_buffer::@3
  printf_number_buffer::format_justify_left#19 = phi( printf_number_buffer::@3/printf_number_buffer::format_justify_left#15 )
  printf_number_buffer::format_zero_padding#21 = phi( printf_number_buffer::@3/printf_number_buffer::format_zero_padding#4 )
  printf_number_buffer::buffer_digits#13 = phi( printf_number_buffer::@3/printf_number_buffer::buffer_digits#10 )
  printf_number_buffer::format_upper_case#8 = phi( printf_number_buffer::@3/printf_number_buffer::format_upper_case#5 )
  printf_number_buffer::padding#6 = phi( printf_number_buffer::@3/printf_number_buffer::padding#5 )
  printf_number_buffer::putc#5 = phi( printf_number_buffer::@3/printf_number_buffer::putc#10 )
  printf_padding::putc#1 = printf_number_buffer::putc#5
  printf_padding::pad#1 = '0'
  printf_padding::length#1 = (char)printf_number_buffer::padding#6
  call printf_padding
  to:printf_number_buffer::@17
printf_number_buffer::@17: scope:[printf_number_buffer]  from printf_number_buffer::@10
  printf_number_buffer::padding#15 = phi( printf_number_buffer::@10/printf_number_buffer::padding#6 )
  printf_number_buffer::format_justify_left#14 = phi( printf_number_buffer::@10/printf_number_buffer::format_justify_left#19 )
  printf_number_buffer::format_zero_padding#19 = phi( printf_number_buffer::@10/printf_number_buffer::format_zero_padding#21 )
  printf_number_buffer::buffer_digits#9 = phi( printf_number_buffer::@10/printf_number_buffer::buffer_digits#13 )
  printf_number_buffer::putc#18 = phi( printf_number_buffer::@10/printf_number_buffer::putc#5 )
  printf_number_buffer::format_upper_case#4 = phi( printf_number_buffer::@10/printf_number_buffer::format_upper_case#8 )
  to:printf_number_buffer::@4
printf_number_buffer::@5: scope:[printf_number_buffer]  from printf_number_buffer::@19 printf_number_buffer::@4
  printf_number_buffer::padding#11 = phi( printf_number_buffer::@19/printf_number_buffer::padding#13, printf_number_buffer::@4/printf_number_buffer::padding#14 )
  printf_number_buffer::format_justify_left#8 = phi( printf_number_buffer::@19/printf_number_buffer::format_justify_left#11, printf_number_buffer::@4/printf_number_buffer::format_justify_left#12 )
  printf_number_buffer::format_zero_padding#11 = phi( printf_number_buffer::@19/printf_number_buffer::format_zero_padding#15, printf_number_buffer::@4/printf_number_buffer::format_zero_padding#16 )
  printf_number_buffer::buffer_digits#4 = phi( printf_number_buffer::@19/printf_number_buffer::buffer_digits#7, printf_number_buffer::@4/printf_number_buffer::buffer_digits#8 )
  printf_number_buffer::putc#6 = phi( printf_number_buffer::@19/printf_number_buffer::putc#11, printf_number_buffer::@4/printf_number_buffer::putc#12 )
  printf_str::putc#0 = printf_number_buffer::putc#6
  printf_str::s#1 = printf_number_buffer::buffer_digits#4
  call printf_str
  to:printf_number_buffer::@18
printf_number_buffer::@18: scope:[printf_number_buffer]  from printf_number_buffer::@5
  printf_number_buffer::putc#13 = phi( printf_number_buffer::@5/printf_number_buffer::putc#6 )
  printf_number_buffer::padding#7 = phi( printf_number_buffer::@5/printf_number_buffer::padding#11 )
  printf_number_buffer::format_justify_left#4 = phi( printf_number_buffer::@5/printf_number_buffer::format_justify_left#8 )
  printf_number_buffer::format_zero_padding#5 = phi( printf_number_buffer::@5/printf_number_buffer::format_zero_padding#11 )
  printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#5
  printf_number_buffer::$14 = ! printf_number_buffer::$32
  printf_number_buffer::$15 = printf_number_buffer::format_justify_left#4 && printf_number_buffer::$14
  printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#7
  printf_number_buffer::$17 = ! printf_number_buffer::$16
  if(printf_number_buffer::$17) goto printf_number_buffer::@return
  to:printf_number_buffer::@12
printf_number_buffer::@11: scope:[printf_number_buffer]  from printf_number_buffer::@4
  printf_number_buffer::padding#16 = phi( printf_number_buffer::@4/printf_number_buffer::padding#14 )
  printf_number_buffer::format_justify_left#16 = phi( printf_number_buffer::@4/printf_number_buffer::format_justify_left#12 )
  printf_number_buffer::format_zero_padding#20 = phi( printf_number_buffer::@4/printf_number_buffer::format_zero_padding#16 )
  printf_number_buffer::putc#19 = phi( printf_number_buffer::@4/printf_number_buffer::putc#12 )
  printf_number_buffer::buffer_digits#5 = phi( printf_number_buffer::@4/printf_number_buffer::buffer_digits#8 )
  strupr::str#0 = printf_number_buffer::buffer_digits#5
  call strupr
  strupr::return#2 = strupr::return#1
  to:printf_number_buffer::@19
printf_number_buffer::@19: scope:[printf_number_buffer]  from printf_number_buffer::@11
  printf_number_buffer::padding#13 = phi( printf_number_buffer::@11/printf_number_buffer::padding#16 )
  printf_number_buffer::format_justify_left#11 = phi( printf_number_buffer::@11/printf_number_buffer::format_justify_left#16 )
  printf_number_buffer::format_zero_padding#15 = phi( printf_number_buffer::@11/printf_number_buffer::format_zero_padding#20 )
  printf_number_buffer::buffer_digits#7 = phi( printf_number_buffer::@11/printf_number_buffer::buffer_digits#5 )
  printf_number_buffer::putc#11 = phi( printf_number_buffer::@11/printf_number_buffer::putc#19 )
  to:printf_number_buffer::@5
printf_number_buffer::@12: scope:[printf_number_buffer]  from printf_number_buffer::@18
  printf_number_buffer::padding#8 = phi( printf_number_buffer::@18/printf_number_buffer::padding#7 )
  printf_number_buffer::putc#7 = phi( printf_number_buffer::@18/printf_number_buffer::putc#13 )
  printf_padding::putc#2 = printf_number_buffer::putc#7
  printf_padding::pad#2 = ' '
  printf_padding::length#2 = (char)printf_number_buffer::padding#8
  call printf_padding
  to:printf_number_buffer::@20
printf_number_buffer::@20: scope:[printf_number_buffer]  from printf_number_buffer::@12
  to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer]  from printf_number_buffer::@18 printf_number_buffer::@20
  return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  count#37 = phi( __start::@1/count#21 )
  call clrscr
  to:main::@2
main::@2: scope:[main]  from main
  count#35 = phi( main/count#37 )
  printf_str::putc#1 = &cputc
  printf_str::s#2 = main::s
  call printf_str
  to:main::@3
main::@3: scope:[main]  from main::@2
  count#32 = phi( main::@2/count#35 )
  printf_str::putc#2 = &cputc
  printf_str::s#3 = main::s1
  call printf_str
  to:main::@4
main::@4: scope:[main]  from main::@3
  count#22 = phi( main::@3/count#32 )
  printf_uint::putc#0 = &cputc
  printf_uint::uvalue#0 = 8
  printf_uint::format_min_length#0 = 0
  printf_uint::format_justify_left#0 = 0
  printf_uint::format_sign_always#0 = 0
  printf_uint::format_zero_padding#0 = 0
  printf_uint::format_upper_case#0 = 0
  printf_uint::format_radix#0 = DECIMAL
  call printf_uint
  to:main::@5
main::@5: scope:[main]  from main::@4
  count#15 = phi( main::@4/count#22 )
  call queens
  to:main::@6
main::@6: scope:[main]  from main::@5
  count#7 = phi( main::@5/count#3 )
  count#0 = count#7
  printf_str::putc#3 = &cputc
  printf_str::s#4 = main::s2
  call printf_str
  to:main::@7
main::@7: scope:[main]  from main::@6
  count#8 = phi( main::@6/count#0 )
  printf_ulong::putc#0 = &cputc
  printf_ulong::uvalue#0 = count#8
  printf_ulong::format_min_length#0 = 0
  printf_ulong::format_justify_left#0 = 0
  printf_ulong::format_sign_always#0 = 0
  printf_ulong::format_zero_padding#0 = 0
  printf_ulong::format_upper_case#0 = 0
  printf_ulong::format_radix#0 = DECIMAL
  call printf_ulong
  to:main::@8
main::@8: scope:[main]  from main::@7
  count#36 = phi( main::@7/count#8 )
  printf_str::putc#4 = &cputc
  printf_str::s#5 = main::s3
  call printf_str
  to:main::@9
main::@9: scope:[main]  from main::@8
  count#33 = phi( main::@8/count#36 )
  to:main::@1
main::@1: scope:[main]  from main::@10 main::@9
  count#23 = phi( main::@10/count#16, main::@9/count#33 )
  call kbhit
  kbhit::return#2 = kbhit::return#1
  to:main::@10
main::@10: scope:[main]  from main::@1
  count#16 = phi( main::@1/count#23 )
  kbhit::return#4 = phi( main::@1/kbhit::return#2 )
  main::$5 = kbhit::return#4
  main::$7 = 0 != main::$5
  main::$6 = ! main::$7
  if(main::$6) goto main::@1
  to:main::@return
main::@return: scope:[main]  from main::@10
  count#9 = phi( main::@10/count#16 )
  count#1 = count#9
  return 
  to:@return

void queens()
queens: scope:[queens]  from main::@5
  count#24 = phi( main::@5/count#15 )
  queens::row#0 = 1
  to:queens::@1
queens::@1: scope:[queens]  from queens queens::@10 queens::@7 queens::@8 queens::@9
  count#18 = phi( queens/count#24, queens::@10/count#25, queens::@7/count#26, queens::@8/count#27, queens::@9/count#28 )
  queens::row#9 = phi( queens/queens::row#0, queens::@10/queens::row#11, queens::@7/queens::row#1, queens::@8/queens::row#2, queens::@9/queens::row#10 )
  queens::$7 = 0 != 1
  if(queens::$7) goto queens::@2
  to:queens::@return
queens::@2: scope:[queens]  from queens::@1
  count#29 = phi( queens::@1/count#18 )
  queens::row#3 = phi( queens::@1/queens::row#9 )
  board[queens::row#3] = ++ board[queens::row#3]
  queens::$1 = board[queens::row#3] == 8+1
  if(queens::$1) goto queens::@3
  to:queens::@5
queens::@3: scope:[queens]  from queens::@2
  count#19 = phi( queens::@2/count#29 )
  queens::row#4 = phi( queens::@2/queens::row#3 )
  board[queens::row#4] = 0
  queens::$6 = queens::row#4 == 1
  if(queens::$6) goto queens::@return
  to:queens::@8
queens::@5: scope:[queens]  from queens::@2
  count#34 = phi( queens::@2/count#29 )
  queens::row#5 = phi( queens::@2/queens::row#3 )
  legal::row#0 = queens::row#5
  legal::column#0 = board[queens::row#5]
  call legal
  legal::return#0 = legal::return#4
  to:queens::@9
queens::@9: scope:[queens]  from queens::@5
  count#28 = phi( queens::@5/count#34 )
  queens::row#10 = phi( queens::@5/queens::row#5 )
  legal::return#5 = phi( queens::@5/legal::return#0 )
  queens::$2 = legal::return#5
  queens::$8 = 0 != queens::$2
  queens::$3 = ! queens::$8
  if(queens::$3) goto queens::@1
  to:queens::@6
queens::@6: scope:[queens]  from queens::@9
  count#17 = phi( queens::@9/count#28 )
  queens::row#6 = phi( queens::@9/queens::row#10 )
  queens::$4 = queens::row#6 == 8
  if(queens::$4) goto queens::@4
  to:queens::@7
queens::@4: scope:[queens]  from queens::@6
  queens::row#12 = phi( queens::@6/queens::row#6 )
  count#10 = phi( queens::@6/count#17 )
  count#2 = ++ count#10
  call print
  to:queens::@10
queens::@10: scope:[queens]  from queens::@4
  count#25 = phi( queens::@4/count#2 )
  queens::row#11 = phi( queens::@4/queens::row#12 )
  to:queens::@1
queens::@7: scope:[queens]  from queens::@6
  count#26 = phi( queens::@6/count#17 )
  queens::row#7 = phi( queens::@6/queens::row#6 )
  queens::row#1 = ++ queens::row#7
  to:queens::@1
queens::@8: scope:[queens]  from queens::@3
  count#27 = phi( queens::@3/count#19 )
  queens::row#8 = phi( queens::@3/queens::row#4 )
  queens::row#2 = -- queens::row#8
  to:queens::@1
queens::@return: scope:[queens]  from queens::@1 queens::@3
  count#11 = phi( queens::@1/count#18, queens::@3/count#19 )
  count#3 = count#11
  return 
  to:@return

char legal(char row , char column)
legal: scope:[legal]  from queens::@5
  legal::column#4 = phi( queens::@5/legal::column#0 )
  legal::row#3 = phi( queens::@5/legal::row#0 )
  legal::i#0 = 1
  to:legal::@1
legal::@1: scope:[legal]  from legal legal::@5
  legal::column#3 = phi( legal/legal::column#4, legal::@5/legal::column#5 )
  legal::i#2 = phi( legal/legal::i#0, legal::@5/legal::i#1 )
  legal::row#1 = phi( legal/legal::row#3, legal::@5/legal::row#4 )
  legal::$0 = legal::row#1 - 1
  legal::$1 = legal::i#2 <= legal::$0
  if(legal::$1) goto legal::@2
  to:legal::@3
legal::@2: scope:[legal]  from legal::@1
  legal::row#14 = phi( legal::@1/legal::row#1 )
  legal::column#1 = phi( legal::@1/legal::column#3 )
  legal::i#3 = phi( legal::@1/legal::i#2 )
  legal::$2 = board[legal::i#3] == legal::column#1
  if(legal::$2) goto legal::@4
  to:legal::@6
legal::@3: scope:[legal]  from legal::@1
  legal::return#1 = 1
  to:legal::@return
legal::@4: scope:[legal]  from legal::@2
  legal::return#2 = 0
  to:legal::@return
legal::@6: scope:[legal]  from legal::@2
  legal::row#11 = phi( legal::@2/legal::row#14 )
  legal::column#2 = phi( legal::@2/legal::column#1 )
  legal::i#4 = phi( legal::@2/legal::i#3 )
  legal::diff1_a#0 = board[legal::i#4]
  legal::diff1_b#0 = legal::column#2
  to:legal::diff1
legal::diff1: scope:[legal]  from legal::@6
  legal::column#15 = phi( legal::@6/legal::column#2 )
  legal::row#9 = phi( legal::@6/legal::row#11 )
  legal::i#12 = phi( legal::@6/legal::i#4 )
  legal::diff1_b#1 = phi( legal::@6/legal::diff1_b#0 )
  legal::diff1_a#1 = phi( legal::@6/legal::diff1_a#0 )
  legal::diff1_$0 = legal::diff1_a#1 < legal::diff1_b#1
  if(legal::diff1_$0) goto legal::diff1_@1
  to:legal::diff1_@3
legal::diff1_@1: scope:[legal]  from legal::diff1
  legal::column#13 = phi( legal::diff1/legal::column#15 )
  legal::row#6 = phi( legal::diff1/legal::row#9 )
  legal::i#9 = phi( legal::diff1/legal::i#12 )
  legal::diff1_a#2 = phi( legal::diff1/legal::diff1_a#1 )
  legal::diff1_b#2 = phi( legal::diff1/legal::diff1_b#1 )
  legal::diff1_$2 = legal::diff1_b#2 - legal::diff1_a#2
  legal::diff1_return#0 = legal::diff1_$2
  to:legal::diff1_@return
legal::diff1_@3: scope:[legal]  from legal::diff1
  legal::column#14 = phi( legal::diff1/legal::column#15 )
  legal::row#7 = phi( legal::diff1/legal::row#9 )
  legal::i#10 = phi( legal::diff1/legal::i#12 )
  legal::diff1_b#3 = phi( legal::diff1/legal::diff1_b#1 )
  legal::diff1_a#3 = phi( legal::diff1/legal::diff1_a#1 )
  legal::diff1_$1 = legal::diff1_a#3 - legal::diff1_b#3
  legal::diff1_return#1 = legal::diff1_$1
  to:legal::diff1_@return
legal::diff1_@return: scope:[legal]  from legal::diff1_@1 legal::diff1_@3
  legal::column#12 = phi( legal::diff1_@1/legal::column#13, legal::diff1_@3/legal::column#14 )
  legal::row#5 = phi( legal::diff1_@1/legal::row#6, legal::diff1_@3/legal::row#7 )
  legal::i#7 = phi( legal::diff1_@1/legal::i#9, legal::diff1_@3/legal::i#10 )
  legal::diff1_return#3 = phi( legal::diff1_@1/legal::diff1_return#0, legal::diff1_@3/legal::diff1_return#1 )
  legal::diff1_return#2 = legal::diff1_return#3
  to:legal::@8
legal::@8: scope:[legal]  from legal::diff1_@return
  legal::column#11 = phi( legal::diff1_@return/legal::column#12 )
  legal::row#2 = phi( legal::diff1_@return/legal::row#5 )
  legal::i#5 = phi( legal::diff1_@return/legal::i#7 )
  legal::diff1_return#4 = phi( legal::diff1_@return/legal::diff1_return#2 )
  legal::$3 = legal::diff1_return#4
  legal::diff2_a#0 = legal::i#5
  legal::diff2_b#0 = legal::row#2
  to:legal::diff2
legal::diff2: scope:[legal]  from legal::@8
  legal::column#10 = phi( legal::@8/legal::column#11 )
  legal::row#15 = phi( legal::@8/legal::row#2 )
  legal::i#15 = phi( legal::@8/legal::i#5 )
  legal::diff2_b#1 = phi( legal::@8/legal::diff2_b#0 )
  legal::diff2_a#1 = phi( legal::@8/legal::diff2_a#0 )
  legal::diff2_$0 = legal::diff2_a#1 < legal::diff2_b#1
  if(legal::diff2_$0) goto legal::diff2_@1
  to:legal::diff2_@3
legal::diff2_@1: scope:[legal]  from legal::diff2
  legal::column#8 = phi( legal::diff2/legal::column#10 )
  legal::row#12 = phi( legal::diff2/legal::row#15 )
  legal::i#13 = phi( legal::diff2/legal::i#15 )
  legal::diff2_a#2 = phi( legal::diff2/legal::diff2_a#1 )
  legal::diff2_b#2 = phi( legal::diff2/legal::diff2_b#1 )
  legal::diff2_$2 = legal::diff2_b#2 - legal::diff2_a#2
  legal::diff2_return#0 = legal::diff2_$2
  to:legal::diff2_@return
legal::diff2_@3: scope:[legal]  from legal::diff2
  legal::column#9 = phi( legal::diff2/legal::column#10 )
  legal::row#13 = phi( legal::diff2/legal::row#15 )
  legal::i#14 = phi( legal::diff2/legal::i#15 )
  legal::diff2_b#3 = phi( legal::diff2/legal::diff2_b#1 )
  legal::diff2_a#3 = phi( legal::diff2/legal::diff2_a#1 )
  legal::diff2_$1 = legal::diff2_a#3 - legal::diff2_b#3
  legal::diff2_return#1 = legal::diff2_$1
  to:legal::diff2_@return
legal::diff2_@return: scope:[legal]  from legal::diff2_@1 legal::diff2_@3
  legal::column#7 = phi( legal::diff2_@1/legal::column#8, legal::diff2_@3/legal::column#9 )
  legal::row#10 = phi( legal::diff2_@1/legal::row#12, legal::diff2_@3/legal::row#13 )
  legal::i#11 = phi( legal::diff2_@1/legal::i#13, legal::diff2_@3/legal::i#14 )
  legal::diff2_return#3 = phi( legal::diff2_@1/legal::diff2_return#0, legal::diff2_@3/legal::diff2_return#1 )
  legal::diff2_return#2 = legal::diff2_return#3
  to:legal::@9
legal::@9: scope:[legal]  from legal::diff2_@return
  legal::column#6 = phi( legal::diff2_@return/legal::column#7 )
  legal::row#8 = phi( legal::diff2_@return/legal::row#10 )
  legal::i#8 = phi( legal::diff2_@return/legal::i#11 )
  legal::diff2_return#4 = phi( legal::diff2_@return/legal::diff2_return#2 )
  legal::$4 = legal::diff2_return#4
  legal::$5 = legal::$3 == legal::$4
  legal::$6 = ! legal::$5
  if(legal::$6) goto legal::@5
  to:legal::@7
legal::@7: scope:[legal]  from legal::@9
  legal::return#3 = 0
  to:legal::@return
legal::@return: scope:[legal]  from legal::@3 legal::@4 legal::@7
  legal::return#6 = phi( legal::@3/legal::return#1, legal::@4/legal::return#2, legal::@7/legal::return#3 )
  legal::return#4 = legal::return#6
  return 
  to:@return
legal::@5: scope:[legal]  from legal::@9
  legal::column#5 = phi( legal::@9/legal::column#6 )
  legal::row#4 = phi( legal::@9/legal::row#8 )
  legal::i#6 = phi( legal::@9/legal::i#8 )
  legal::i#1 = ++ legal::i#6
  to:legal::@1

void print()
print: scope:[print]  from queens::@4
  count#30 = phi( queens::@4/count#2 )
  gotoxy::x#3 = 0
  gotoxy::y#3 = 5
  call gotoxy
  to:print::@12
print::@12: scope:[print]  from print
  count#20 = phi( print/count#30 )
  printf_str::putc#5 = &cputc
  printf_str::s#6 = print::s
  call printf_str
  to:print::@13
print::@13: scope:[print]  from print::@12
  count#12 = phi( print::@12/count#20 )
  printf_ulong::putc#1 = &cputc
  printf_ulong::uvalue#1 = count#12
  printf_ulong::format_min_length#1 = 0
  printf_ulong::format_justify_left#1 = 0
  printf_ulong::format_sign_always#1 = 0
  printf_ulong::format_zero_padding#1 = 0
  printf_ulong::format_upper_case#1 = 0
  printf_ulong::format_radix#1 = DECIMAL
  call printf_ulong
  to:print::@14
print::@14: scope:[print]  from print::@13
  printf_str::putc#6 = &cputc
  printf_str::s#7 = print::s1
  call printf_str
  to:print::@15
print::@15: scope:[print]  from print::@14
  print::i#0 = 1
  to:print::@1
print::@1: scope:[print]  from print::@15 print::@16
  print::i#2 = phi( print::@15/print::i#0, print::@16/print::i#1 )
  print::$2 = print::i#2 <= 8
  if(print::$2) goto print::@2
  to:print::@3
print::@2: scope:[print]  from print::@1
  print::i#3 = phi( print::@1/print::i#2 )
  printf_uchar::putc#0 = &cputc
  printf_uchar::uvalue#0 = print::i#3
  printf_uchar::format_min_length#0 = 0
  printf_uchar::format_justify_left#0 = 0
  printf_uchar::format_sign_always#0 = 0
  printf_uchar::format_zero_padding#0 = 0
  printf_uchar::format_upper_case#0 = 0
  printf_uchar::format_radix#0 = HEXADECIMAL
  call printf_uchar
  to:print::@16
print::@16: scope:[print]  from print::@2
  print::i#4 = phi( print::@2/print::i#3 )
  print::i#1 = ++ print::i#4
  to:print::@1
print::@3: scope:[print]  from print::@1
  print::i1#0 = 1
  to:print::@4
print::@4: scope:[print]  from print::@3 print::@8
  print::i1#2 = phi( print::@3/print::i1#0, print::@8/print::i1#1 )
  print::$4 = print::i1#2 <= 8
  if(print::$4) goto print::@5
  to:print::@return
print::@5: scope:[print]  from print::@4
  print::i1#6 = phi( print::@4/print::i1#2 )
  printf_str::putc#7 = &cputc
  printf_str::s#8 = print::s2
  call printf_str
  to:print::@17
print::@17: scope:[print]  from print::@5
  print::i1#3 = phi( print::@5/print::i1#6 )
  printf_uchar::putc#1 = &cputc
  printf_uchar::uvalue#1 = print::i1#3
  printf_uchar::format_min_length#1 = 0
  printf_uchar::format_justify_left#1 = 0
  printf_uchar::format_sign_always#1 = 0
  printf_uchar::format_zero_padding#1 = 0
  printf_uchar::format_upper_case#1 = 0
  printf_uchar::format_radix#1 = HEXADECIMAL
  call printf_uchar
  to:print::@18
print::@18: scope:[print]  from print::@17
  print::i1#9 = phi( print::@17/print::i1#3 )
  print::j#0 = 1
  to:print::@6
print::@6: scope:[print]  from print::@10 print::@18
  print::i1#7 = phi( print::@10/print::i1#8, print::@18/print::i1#9 )
  print::j#2 = phi( print::@10/print::j#1, print::@18/print::j#0 )
  print::$6 = print::j#2 <= 8
  if(print::$6) goto print::@7
  to:print::@8
print::@7: scope:[print]  from print::@6
  print::j#3 = phi( print::@6/print::j#2 )
  print::i1#4 = phi( print::@6/print::i1#7 )
  print::$7 = board[print::i1#4] == print::j#3
  if(print::$7) goto print::@9
  to:print::@11
print::@8: scope:[print]  from print::@6
  print::i1#5 = phi( print::@6/print::i1#7 )
  print::i1#1 = ++ print::i1#5
  to:print::@4
print::@9: scope:[print]  from print::@7
  print::i1#12 = phi( print::@7/print::i1#4 )
  print::j#7 = phi( print::@7/print::j#3 )
  printf_str::putc#8 = &cputc
  printf_str::s#9 = print::s3
  call printf_str
  to:print::@19
print::@19: scope:[print]  from print::@9
  print::i1#10 = phi( print::@9/print::i1#12 )
  print::j#5 = phi( print::@9/print::j#7 )
  to:print::@10
print::@11: scope:[print]  from print::@7
  print::i1#13 = phi( print::@7/print::i1#4 )
  print::j#8 = phi( print::@7/print::j#3 )
  printf_str::putc#9 = &cputc
  printf_str::s#10 = print::s4
  call printf_str
  to:print::@20
print::@20: scope:[print]  from print::@11
  print::i1#11 = phi( print::@11/print::i1#13 )
  print::j#6 = phi( print::@11/print::j#8 )
  to:print::@10
print::@10: scope:[print]  from print::@19 print::@20
  print::i1#8 = phi( print::@19/print::i1#10, print::@20/print::i1#11 )
  print::j#4 = phi( print::@19/print::j#5, print::@20/print::j#6 )
  print::j#1 = ++ print::j#4
  to:print::@6
print::@return: scope:[print]  from print::@4
  return 
  to:@return

void __start()
__start: scope:[__start]  from
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  conio_cursor_x = 0
  conio_cursor_y = 0
  conio_line_text = CONIO_SCREEN_TEXT
  conio_line_color = CONIO_SCREEN_COLORS
  conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
  conio_scroll_enable = 1
  count#4 = 0
  call conio_c64_init
  to:__start::@2
__start::@2: scope:[__start]  from __start::__init1
  count#31 = phi( __start::__init1/count#4 )
  to:__start::@1
__start::@1: scope:[__start]  from __start::@2
  count#21 = phi( __start::@2/count#31 )
  call main
  to:__start::@3
__start::@3: scope:[__start]  from __start::@1
  count#13 = phi( __start::@1/count#1 )
  count#5 = count#13
  to:__start::@return
__start::@return: scope:[__start]  from __start::@3
  count#14 = phi( __start::@3/count#5 )
  count#6 = count#14
  return 
  to:@return

SYMBOL TABLE SSA
__constant char BINARY = 2
__constant char * const COLORRAM = (char *)$d800
__constant char * const CONIO_SCREEN_COLORS = COLORRAM
__constant char * const CONIO_SCREEN_TEXT = DEFAULT_SCREEN
__constant const char CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
__constant char DECIMAL = $a
__constant char * const DEFAULT_SCREEN = (char *)$400
__constant char DIGITS[] = "0123456789abcdef"z
__constant char HEXADECIMAL = $10
__constant const char LIGHT_BLUE = $e
__constant char OCTAL = 8
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN = 0
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant unsigned int RADIX_BINARY_VALUES[] = { $8000, $4000, $2000, $1000, $800, $400, $200, $100, $80, $40, $20, $10, 8, 4, 2 }
__constant char RADIX_BINARY_VALUES_CHAR[] = { $80, $40, $20, $10, 8, 4, 2 }
__constant unsigned long RADIX_BINARY_VALUES_LONG[] = { $80000000, $40000000, $20000000, $10000000, $8000000, $4000000, $2000000, $1000000, $800000, $400000, $200000, $100000, $80000, $40000, $20000, $10000, $8000, $4000, $2000, $1000, $800, $400, $200, $100, $80, $40, $20, $10, 8, 4, 2 }
__constant unsigned int RADIX_DECIMAL_VALUES[] = { $2710, $3e8, $64, $a }
__constant char RADIX_DECIMAL_VALUES_CHAR[] = { $64, $a }
__constant unsigned long RADIX_DECIMAL_VALUES_LONG[] = { $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a }
__constant unsigned int RADIX_HEXADECIMAL_VALUES[] = { $1000, $100, $10 }
__constant char RADIX_HEXADECIMAL_VALUES_CHAR[] = { $10 }
__constant unsigned long RADIX_HEXADECIMAL_VALUES_LONG[] = { $10000000, $1000000, $100000, $10000, $1000, $100, $10 }
__constant unsigned int RADIX_OCTAL_VALUES[] = { $8000, $1000, $200, $40, 8 }
__constant char RADIX_OCTAL_VALUES_CHAR[] = { $40, 8 }
__constant unsigned long RADIX_OCTAL_VALUES_LONG[] = { $40000000, $8000000, $1000000, $200000, $40000, $8000, $1000, $200, $40, 8 }
__constant char SIZEOF_UNSIGNED_INT = 2
__constant char SIZEOF_UNSIGNED_LONG = 4
__constant unsigned int STACK_BASE = $103
void __start()
__constant char board[$14] = { fill( $14, 0) }
void clrscr()
bool clrscr::$0
bool clrscr::$1
char clrscr::c
char clrscr::c#0
char clrscr::c#1
char clrscr::c#2
char clrscr::c#3
char clrscr::l
char clrscr::l#0
char clrscr::l#1
char clrscr::l#2
char clrscr::l#3
char clrscr::l#4
char clrscr::l#5
char clrscr::l#6
char *clrscr::line_cols
char *clrscr::line_cols#0
char *clrscr::line_cols#1
char *clrscr::line_cols#2
char *clrscr::line_cols#3
char *clrscr::line_cols#4
char *clrscr::line_cols#5
char *clrscr::line_cols#6
char *clrscr::line_text
char *clrscr::line_text#0
char *clrscr::line_text#1
char *clrscr::line_text#2
char *clrscr::line_text#3
char *clrscr::line_text#4
char *clrscr::line_text#5
char *clrscr::line_text#6
void conio_c64_init()
bool conio_c64_init::$0
bool conio_c64_init::$1
__constant char * const conio_c64_init::BASIC_CURSOR_LINE = (char *)$d6
char conio_c64_init::line
char conio_c64_init::line#0
char conio_c64_init::line#1
char conio_c64_init::line#2
__loadstore char conio_cursor_x
__loadstore char conio_cursor_y
__loadstore char *conio_line_color
__loadstore char *conio_line_text
__loadstore char conio_scroll_enable
__loadstore char conio_textcolor
unsigned long count
unsigned long count#0
unsigned long count#1
unsigned long count#10
unsigned long count#11
unsigned long count#12
unsigned long count#13
unsigned long count#14
unsigned long count#15
unsigned long count#16
unsigned long count#17
unsigned long count#18
unsigned long count#19
unsigned long count#2
unsigned long count#20
unsigned long count#21
unsigned long count#22
unsigned long count#23
unsigned long count#24
unsigned long count#25
unsigned long count#26
unsigned long count#27
unsigned long count#28
unsigned long count#29
unsigned long count#3
unsigned long count#30
unsigned long count#31
unsigned long count#32
unsigned long count#33
unsigned long count#34
unsigned long count#35
unsigned long count#36
unsigned long count#37
unsigned long count#4
unsigned long count#5
unsigned long count#6
unsigned long count#7
unsigned long count#8
unsigned long count#9
__stackcall void cputc(char c)
bool cputc::$0
bool cputc::$1
bool cputc::$2
__constant char cputc::OFFSET_STACK_C = 0
char cputc::c
char cputc::c#0
char cputc::c#1
void cputln()
void cscroll()
bool cscroll::$0
bool cscroll::$1
bool cscroll::$7
void gotoxy(char x , char y)
bool gotoxy::$0
bool gotoxy::$1
bool gotoxy::$2
bool gotoxy::$3
char *gotoxy::$5
char *gotoxy::$6
unsigned int gotoxy::$7
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0
char gotoxy::x
char gotoxy::x#0
char gotoxy::x#1
char gotoxy::x#2
char gotoxy::x#3
char gotoxy::x#4
char gotoxy::x#5
char gotoxy::x#6
char gotoxy::x#7
char gotoxy::y
char gotoxy::y#0
char gotoxy::y#1
char gotoxy::y#2
char gotoxy::y#3
char gotoxy::y#4
char gotoxy::y#5
char gotoxy::y#6
char gotoxy::y#7
char kbhit()
char kbhit::$0
__constant char * const kbhit::CIA1_PORT_A = (char *)$dc00
__constant char * const kbhit::CIA1_PORT_B = (char *)$dc01
char kbhit::return
char kbhit::return#0
char kbhit::return#1
char kbhit::return#2
char kbhit::return#3
char kbhit::return#4
char legal(char row , char column)
number legal::$0
bool legal::$1
bool legal::$2
char legal::$3
char legal::$4
bool legal::$5
bool legal::$6
char legal::column
char legal::column#0
char legal::column#1
char legal::column#10
char legal::column#11
char legal::column#12
char legal::column#13
char legal::column#14
char legal::column#15
char legal::column#2
char legal::column#3
char legal::column#4
char legal::column#5
char legal::column#6
char legal::column#7
char legal::column#8
char legal::column#9
bool legal::diff1_$0
char legal::diff1_$1
char legal::diff1_$2
char legal::diff1_a
char legal::diff1_a#0
char legal::diff1_a#1
char legal::diff1_a#2
char legal::diff1_a#3
char legal::diff1_b
char legal::diff1_b#0
char legal::diff1_b#1
char legal::diff1_b#2
char legal::diff1_b#3
char legal::diff1_return
char legal::diff1_return#0
char legal::diff1_return#1
char legal::diff1_return#2
char legal::diff1_return#3
char legal::diff1_return#4
bool legal::diff2_$0
char legal::diff2_$1
char legal::diff2_$2
char legal::diff2_a
char legal::diff2_a#0
char legal::diff2_a#1
char legal::diff2_a#2
char legal::diff2_a#3
char legal::diff2_b
char legal::diff2_b#0
char legal::diff2_b#1
char legal::diff2_b#2
char legal::diff2_b#3
char legal::diff2_return
char legal::diff2_return#0
char legal::diff2_return#1
char legal::diff2_return#2
char legal::diff2_return#3
char legal::diff2_return#4
char legal::i
char legal::i#0
char legal::i#1
char legal::i#10
char legal::i#11
char legal::i#12
char legal::i#13
char legal::i#14
char legal::i#15
char legal::i#2
char legal::i#3
char legal::i#4
char legal::i#5
char legal::i#6
char legal::i#7
char legal::i#8
char legal::i#9
char legal::return
char legal::return#0
char legal::return#1
char legal::return#2
char legal::return#3
char legal::return#4
char legal::return#5
char legal::return#6
char legal::row
char legal::row#0
char legal::row#1
char legal::row#10
char legal::row#11
char legal::row#12
char legal::row#13
char legal::row#14
char legal::row#15
char legal::row#2
char legal::row#3
char legal::row#4
char legal::row#5
char legal::row#6
char legal::row#7
char legal::row#8
char legal::row#9
void main()
char main::$5
bool main::$6
bool main::$7
__constant char main::s[$29] = " - n queens problem using backtracking -"
__constant char main::s1[$13] = "
number of queens:"
__constant char main::s2[$e] = "

solutions: "
__constant char main::s3[2] = "
"
void * memcpy(void *destination , void *source , unsigned int num)
bool memcpy::$1
char *memcpy::$2
void *memcpy::destination
void *memcpy::destination#0
void *memcpy::destination#1
void *memcpy::destination#2
void *memcpy::destination#3
void *memcpy::destination#4
void *memcpy::destination#5
char *memcpy::dst
char *memcpy::dst#0
char *memcpy::dst#1
char *memcpy::dst#2
char *memcpy::dst#3
unsigned int memcpy::num
unsigned int memcpy::num#0
unsigned int memcpy::num#1
unsigned int memcpy::num#2
void *memcpy::return
void *memcpy::return#0
void *memcpy::return#1
void *memcpy::return#2
void *memcpy::return#3
void *memcpy::return#4
void *memcpy::source
void *memcpy::source#0
void *memcpy::source#1
void *memcpy::source#2
char *memcpy::src
char *memcpy::src#0
char *memcpy::src#1
char *memcpy::src#2
char *memcpy::src#3
char *memcpy::src_end
char *memcpy::src_end#0
char *memcpy::src_end#1
char *memcpy::src_end#2
void * memset(void *str , char c , unsigned int num)
bool memset::$0
bool memset::$1
bool memset::$3
char *memset::$4
char memset::c
char memset::c#0
char memset::c#1
char memset::c#2
char memset::c#3
char memset::c#4
char memset::c#5
char *memset::dst
char *memset::dst#0
char *memset::dst#1
char *memset::dst#2
char *memset::dst#3
char *memset::end
char *memset::end#0
char *memset::end#1
char *memset::end#2
unsigned int memset::num
unsigned int memset::num#0
unsigned int memset::num#1
unsigned int memset::num#2
unsigned int memset::num#3
void *memset::return
void *memset::return#0
void *memset::return#1
void *memset::return#2
void *memset::return#3
void *memset::return#4
void *memset::str
void *memset::str#0
void *memset::str#1
void *memset::str#2
void *memset::str#3
void *memset::str#4
void *memset::str#5
void *memset::str#6
void print()
bool print::$2
bool print::$4
bool print::$6
bool print::$7
char print::i
char print::i#0
char print::i#1
char print::i#2
char print::i#3
char print::i#4
char print::i1
char print::i1#0
char print::i1#1
char print::i1#10
char print::i1#11
char print::i1#12
char print::i1#13
char print::i1#2
char print::i1#3
char print::i1#4
char print::i1#5
char print::i1#6
char print::i1#7
char print::i1#8
char print::i1#9
char print::j
char print::j#0
char print::j#1
char print::j#2
char print::j#3
char print::j#4
char print::j#5
char print::j#6
char print::j#7
char print::j#8
__constant char print::s[3] = "
#"
__constant char print::s1[4] = ":
 "
__constant char print::s2[2] = "
"
__constant char print::s3[2] = "Q"
__constant char print::s4[2] = "-"
__loadstore struct printf_buffer_number printf_buffer = {}
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
bool printf_number_buffer::$0
bool printf_number_buffer::$1
bool printf_number_buffer::$10
bool printf_number_buffer::$12
bool printf_number_buffer::$14
bool printf_number_buffer::$15
bool printf_number_buffer::$16
bool printf_number_buffer::$17
unsigned int printf_number_buffer::$19
bool printf_number_buffer::$2
bool printf_number_buffer::$20
signed char printf_number_buffer::$21
bool printf_number_buffer::$22
bool printf_number_buffer::$23
signed char printf_number_buffer::$25
bool printf_number_buffer::$26
bool printf_number_buffer::$27
bool printf_number_buffer::$28
bool printf_number_buffer::$29
bool printf_number_buffer::$3
bool printf_number_buffer::$30
bool printf_number_buffer::$31
bool printf_number_buffer::$32
bool printf_number_buffer::$4
bool printf_number_buffer::$5
bool printf_number_buffer::$7
bool printf_number_buffer::$9
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
char *printf_number_buffer::buffer_digits#0
char *printf_number_buffer::buffer_digits#1
char *printf_number_buffer::buffer_digits#10
char *printf_number_buffer::buffer_digits#11
char *printf_number_buffer::buffer_digits#12
char *printf_number_buffer::buffer_digits#13
char *printf_number_buffer::buffer_digits#14
char *printf_number_buffer::buffer_digits#15
char *printf_number_buffer::buffer_digits#16
char *printf_number_buffer::buffer_digits#17
char *printf_number_buffer::buffer_digits#18
char *printf_number_buffer::buffer_digits#19
char *printf_number_buffer::buffer_digits#2
char *printf_number_buffer::buffer_digits#20
char *printf_number_buffer::buffer_digits#3
char *printf_number_buffer::buffer_digits#4
char *printf_number_buffer::buffer_digits#5
char *printf_number_buffer::buffer_digits#6
char *printf_number_buffer::buffer_digits#7
char *printf_number_buffer::buffer_digits#8
char *printf_number_buffer::buffer_digits#9
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0
char printf_number_buffer::buffer_sign#1
char printf_number_buffer::buffer_sign#10
char printf_number_buffer::buffer_sign#11
char printf_number_buffer::buffer_sign#12
char printf_number_buffer::buffer_sign#13
char printf_number_buffer::buffer_sign#2
char printf_number_buffer::buffer_sign#3
char printf_number_buffer::buffer_sign#4
char printf_number_buffer::buffer_sign#5
char printf_number_buffer::buffer_sign#6
char printf_number_buffer::buffer_sign#7
char printf_number_buffer::buffer_sign#8
char printf_number_buffer::buffer_sign#9
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_justify_left#0
char printf_number_buffer::format_justify_left#1
char printf_number_buffer::format_justify_left#10
char printf_number_buffer::format_justify_left#11
char printf_number_buffer::format_justify_left#12
char printf_number_buffer::format_justify_left#13
char printf_number_buffer::format_justify_left#14
char printf_number_buffer::format_justify_left#15
char printf_number_buffer::format_justify_left#16
char printf_number_buffer::format_justify_left#17
char printf_number_buffer::format_justify_left#18
char printf_number_buffer::format_justify_left#19
char printf_number_buffer::format_justify_left#2
char printf_number_buffer::format_justify_left#20
char printf_number_buffer::format_justify_left#21
char printf_number_buffer::format_justify_left#3
char printf_number_buffer::format_justify_left#4
char printf_number_buffer::format_justify_left#5
char printf_number_buffer::format_justify_left#6
char printf_number_buffer::format_justify_left#7
char printf_number_buffer::format_justify_left#8
char printf_number_buffer::format_justify_left#9
char printf_number_buffer::format_min_length
char printf_number_buffer::format_min_length#0
char printf_number_buffer::format_min_length#1
char printf_number_buffer::format_min_length#2
char printf_number_buffer::format_min_length#3
char printf_number_buffer::format_min_length#4
char printf_number_buffer::format_min_length#5
char printf_number_buffer::format_min_length#6
char printf_number_buffer::format_min_length#7
char printf_number_buffer::format_radix
char printf_number_buffer::format_radix#0
char printf_number_buffer::format_radix#1
char printf_number_buffer::format_radix#2
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_sign_always#0
char printf_number_buffer::format_sign_always#1
char printf_number_buffer::format_sign_always#2
char printf_number_buffer::format_upper_case
char printf_number_buffer::format_upper_case#0
char printf_number_buffer::format_upper_case#1
char printf_number_buffer::format_upper_case#10
char printf_number_buffer::format_upper_case#11
char printf_number_buffer::format_upper_case#12
char printf_number_buffer::format_upper_case#13
char printf_number_buffer::format_upper_case#14
char printf_number_buffer::format_upper_case#15
char printf_number_buffer::format_upper_case#16
char printf_number_buffer::format_upper_case#17
char printf_number_buffer::format_upper_case#2
char printf_number_buffer::format_upper_case#3
char printf_number_buffer::format_upper_case#4
char printf_number_buffer::format_upper_case#5
char printf_number_buffer::format_upper_case#6
char printf_number_buffer::format_upper_case#7
char printf_number_buffer::format_upper_case#8
char printf_number_buffer::format_upper_case#9
char printf_number_buffer::format_zero_padding
char printf_number_buffer::format_zero_padding#0
char printf_number_buffer::format_zero_padding#1
char printf_number_buffer::format_zero_padding#10
char printf_number_buffer::format_zero_padding#11
char printf_number_buffer::format_zero_padding#12
char printf_number_buffer::format_zero_padding#13
char printf_number_buffer::format_zero_padding#14
char printf_number_buffer::format_zero_padding#15
char printf_number_buffer::format_zero_padding#16
char printf_number_buffer::format_zero_padding#17
char printf_number_buffer::format_zero_padding#18
char printf_number_buffer::format_zero_padding#19
char printf_number_buffer::format_zero_padding#2
char printf_number_buffer::format_zero_padding#20
char printf_number_buffer::format_zero_padding#21
char printf_number_buffer::format_zero_padding#3
char printf_number_buffer::format_zero_padding#4
char printf_number_buffer::format_zero_padding#5
char printf_number_buffer::format_zero_padding#6
char printf_number_buffer::format_zero_padding#7
char printf_number_buffer::format_zero_padding#8
char printf_number_buffer::format_zero_padding#9
signed char printf_number_buffer::len
signed char printf_number_buffer::len#0
signed char printf_number_buffer::len#1
signed char printf_number_buffer::len#2
signed char printf_number_buffer::len#3
signed char printf_number_buffer::padding
signed char printf_number_buffer::padding#0
signed char printf_number_buffer::padding#1
signed char printf_number_buffer::padding#10
signed char printf_number_buffer::padding#11
signed char printf_number_buffer::padding#12
signed char printf_number_buffer::padding#13
signed char printf_number_buffer::padding#14
signed char printf_number_buffer::padding#15
signed char printf_number_buffer::padding#16
signed char printf_number_buffer::padding#2
signed char printf_number_buffer::padding#3
signed char printf_number_buffer::padding#4
signed char printf_number_buffer::padding#5
signed char printf_number_buffer::padding#6
signed char printf_number_buffer::padding#7
signed char printf_number_buffer::padding#8
signed char printf_number_buffer::padding#9
void (*printf_number_buffer::putc)(char)
void (*printf_number_buffer::putc#0)(char)
void (*printf_number_buffer::putc#1)(char)
void (*printf_number_buffer::putc#10)(char)
void (*printf_number_buffer::putc#11)(char)
void (*printf_number_buffer::putc#12)(char)
void (*printf_number_buffer::putc#13)(char)
void (*printf_number_buffer::putc#14)(char)
void (*printf_number_buffer::putc#15)(char)
void (*printf_number_buffer::putc#16)(char)
void (*printf_number_buffer::putc#17)(char)
void (*printf_number_buffer::putc#18)(char)
void (*printf_number_buffer::putc#19)(char)
void (*printf_number_buffer::putc#2)(char)
void (*printf_number_buffer::putc#20)(char)
void (*printf_number_buffer::putc#21)(char)
void (*printf_number_buffer::putc#22)(char)
void (*printf_number_buffer::putc#3)(char)
void (*printf_number_buffer::putc#4)(char)
void (*printf_number_buffer::putc#5)(char)
void (*printf_number_buffer::putc#6)(char)
void (*printf_number_buffer::putc#7)(char)
void (*printf_number_buffer::putc#8)(char)
void (*printf_number_buffer::putc#9)(char)
void printf_padding(void (*putc)(char) , char pad , char length)
bool printf_padding::$0
char printf_padding::i
char printf_padding::i#0
char printf_padding::i#1
char printf_padding::i#2
char printf_padding::i#3
char printf_padding::i#4
char printf_padding::length
char printf_padding::length#0
char printf_padding::length#1
char printf_padding::length#2
char printf_padding::length#3
char printf_padding::length#4
char printf_padding::length#5
char printf_padding::length#6
char printf_padding::pad
char printf_padding::pad#0
char printf_padding::pad#1
char printf_padding::pad#2
char printf_padding::pad#3
char printf_padding::pad#4
char printf_padding::pad#5
char printf_padding::pad#6
void (*printf_padding::putc)(char)
void (*printf_padding::putc#0)(char)
void (*printf_padding::putc#1)(char)
void (*printf_padding::putc#2)(char)
void (*printf_padding::putc#3)(char)
void (*printf_padding::putc#4)(char)
void (*printf_padding::putc#5)(char)
void (*printf_padding::putc#6)(char)
void printf_str(void (*putc)(char) , const char *s)
char printf_str::$0
bool printf_str::$2
char printf_str::c
char printf_str::c#0
char printf_str::c#1
char printf_str::c#2
void (*printf_str::putc)(char)
void (*printf_str::putc#0)(char)
void (*printf_str::putc#1)(char)
void (*printf_str::putc#10)(char)
void (*printf_str::putc#11)(char)
void (*printf_str::putc#12)(char)
void (*printf_str::putc#2)(char)
void (*printf_str::putc#3)(char)
void (*printf_str::putc#4)(char)
void (*printf_str::putc#5)(char)
void (*printf_str::putc#6)(char)
void (*printf_str::putc#7)(char)
void (*printf_str::putc#8)(char)
void (*printf_str::putc#9)(char)
const char *printf_str::s
const char *printf_str::s#0
const char *printf_str::s#1
const char *printf_str::s#10
const char *printf_str::s#11
const char *printf_str::s#12
const char *printf_str::s#13
const char *printf_str::s#2
const char *printf_str::s#3
const char *printf_str::s#4
const char *printf_str::s#5
const char *printf_str::s#6
const char *printf_str::s#7
const char *printf_str::s#8
const char *printf_str::s#9
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
number printf_uchar::$0
char printf_uchar::$1
number printf_uchar::$2
bool printf_uchar::$5
struct printf_format_number printf_uchar::format
char printf_uchar::format_justify_left
char printf_uchar::format_justify_left#0
char printf_uchar::format_justify_left#1
char printf_uchar::format_justify_left#2
char printf_uchar::format_justify_left#3
char printf_uchar::format_justify_left#4
char printf_uchar::format_justify_left#5
char printf_uchar::format_justify_left#6
char printf_uchar::format_min_length
char printf_uchar::format_min_length#0
char printf_uchar::format_min_length#1
char printf_uchar::format_min_length#2
char printf_uchar::format_min_length#3
char printf_uchar::format_min_length#4
char printf_uchar::format_min_length#5
char printf_uchar::format_min_length#6
char printf_uchar::format_radix
char printf_uchar::format_radix#0
char printf_uchar::format_radix#1
char printf_uchar::format_radix#2
char printf_uchar::format_radix#3
char printf_uchar::format_radix#4
char printf_uchar::format_radix#5
char printf_uchar::format_radix#6
char printf_uchar::format_sign_always
char printf_uchar::format_sign_always#0
char printf_uchar::format_sign_always#1
char printf_uchar::format_sign_always#2
char printf_uchar::format_sign_always#3
char printf_uchar::format_sign_always#4
char printf_uchar::format_sign_always#5
char printf_uchar::format_sign_always#6
char printf_uchar::format_upper_case
char printf_uchar::format_upper_case#0
char printf_uchar::format_upper_case#1
char printf_uchar::format_upper_case#2
char printf_uchar::format_upper_case#3
char printf_uchar::format_upper_case#4
char printf_uchar::format_upper_case#5
char printf_uchar::format_upper_case#6
char printf_uchar::format_zero_padding
char printf_uchar::format_zero_padding#0
char printf_uchar::format_zero_padding#1
char printf_uchar::format_zero_padding#2
char printf_uchar::format_zero_padding#3
char printf_uchar::format_zero_padding#4
char printf_uchar::format_zero_padding#5
char printf_uchar::format_zero_padding#6
void (*printf_uchar::putc)(char)
void (*printf_uchar::putc#0)(char)
void (*printf_uchar::putc#1)(char)
void (*printf_uchar::putc#2)(char)
void (*printf_uchar::putc#3)(char)
void (*printf_uchar::putc#4)(char)
void (*printf_uchar::putc#5)(char)
void (*printf_uchar::putc#6)(char)
char printf_uchar::uvalue
char printf_uchar::uvalue#0
char printf_uchar::uvalue#1
char printf_uchar::uvalue#2
char printf_uchar::uvalue#3
char printf_uchar::uvalue#4
char printf_uchar::uvalue#5
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
number printf_uint::$0
char printf_uint::$1
number printf_uint::$2
bool printf_uint::$5
struct printf_format_number printf_uint::format
char printf_uint::format_justify_left
char printf_uint::format_justify_left#0
char printf_uint::format_justify_left#1
char printf_uint::format_justify_left#2
char printf_uint::format_justify_left#3
char printf_uint::format_justify_left#4
char printf_uint::format_justify_left#5
char printf_uint::format_min_length
char printf_uint::format_min_length#0
char printf_uint::format_min_length#1
char printf_uint::format_min_length#2
char printf_uint::format_min_length#3
char printf_uint::format_min_length#4
char printf_uint::format_min_length#5
char printf_uint::format_radix
char printf_uint::format_radix#0
char printf_uint::format_radix#1
char printf_uint::format_radix#2
char printf_uint::format_radix#3
char printf_uint::format_radix#4
char printf_uint::format_radix#5
char printf_uint::format_sign_always
char printf_uint::format_sign_always#0
char printf_uint::format_sign_always#1
char printf_uint::format_sign_always#2
char printf_uint::format_sign_always#3
char printf_uint::format_sign_always#4
char printf_uint::format_sign_always#5
char printf_uint::format_upper_case
char printf_uint::format_upper_case#0
char printf_uint::format_upper_case#1
char printf_uint::format_upper_case#2
char printf_uint::format_upper_case#3
char printf_uint::format_upper_case#4
char printf_uint::format_upper_case#5
char printf_uint::format_zero_padding
char printf_uint::format_zero_padding#0
char printf_uint::format_zero_padding#1
char printf_uint::format_zero_padding#2
char printf_uint::format_zero_padding#3
char printf_uint::format_zero_padding#4
char printf_uint::format_zero_padding#5
void (*printf_uint::putc)(char)
void (*printf_uint::putc#0)(char)
void (*printf_uint::putc#1)(char)
void (*printf_uint::putc#2)(char)
void (*printf_uint::putc#3)(char)
void (*printf_uint::putc#4)(char)
void (*printf_uint::putc#5)(char)
unsigned int printf_uint::uvalue
unsigned int printf_uint::uvalue#0
unsigned int printf_uint::uvalue#1
unsigned int printf_uint::uvalue#2
unsigned int printf_uint::uvalue#3
unsigned int printf_uint::uvalue#4
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
number printf_ulong::$0
char printf_ulong::$1
number printf_ulong::$2
bool printf_ulong::$5
struct printf_format_number printf_ulong::format
char printf_ulong::format_justify_left
char printf_ulong::format_justify_left#0
char printf_ulong::format_justify_left#1
char printf_ulong::format_justify_left#2
char printf_ulong::format_justify_left#3
char printf_ulong::format_justify_left#4
char printf_ulong::format_justify_left#5
char printf_ulong::format_justify_left#6
char printf_ulong::format_min_length
char printf_ulong::format_min_length#0
char printf_ulong::format_min_length#1
char printf_ulong::format_min_length#2
char printf_ulong::format_min_length#3
char printf_ulong::format_min_length#4
char printf_ulong::format_min_length#5
char printf_ulong::format_min_length#6
char printf_ulong::format_radix
char printf_ulong::format_radix#0
char printf_ulong::format_radix#1
char printf_ulong::format_radix#2
char printf_ulong::format_radix#3
char printf_ulong::format_radix#4
char printf_ulong::format_radix#5
char printf_ulong::format_radix#6
char printf_ulong::format_sign_always
char printf_ulong::format_sign_always#0
char printf_ulong::format_sign_always#1
char printf_ulong::format_sign_always#2
char printf_ulong::format_sign_always#3
char printf_ulong::format_sign_always#4
char printf_ulong::format_sign_always#5
char printf_ulong::format_sign_always#6
char printf_ulong::format_upper_case
char printf_ulong::format_upper_case#0
char printf_ulong::format_upper_case#1
char printf_ulong::format_upper_case#2
char printf_ulong::format_upper_case#3
char printf_ulong::format_upper_case#4
char printf_ulong::format_upper_case#5
char printf_ulong::format_upper_case#6
char printf_ulong::format_zero_padding
char printf_ulong::format_zero_padding#0
char printf_ulong::format_zero_padding#1
char printf_ulong::format_zero_padding#2
char printf_ulong::format_zero_padding#3
char printf_ulong::format_zero_padding#4
char printf_ulong::format_zero_padding#5
char printf_ulong::format_zero_padding#6
void (*printf_ulong::putc)(char)
void (*printf_ulong::putc#0)(char)
void (*printf_ulong::putc#1)(char)
void (*printf_ulong::putc#2)(char)
void (*printf_ulong::putc#3)(char)
void (*printf_ulong::putc#4)(char)
void (*printf_ulong::putc#5)(char)
void (*printf_ulong::putc#6)(char)
unsigned long printf_ulong::uvalue
unsigned long printf_ulong::uvalue#0
unsigned long printf_ulong::uvalue#1
unsigned long printf_ulong::uvalue#2
unsigned long printf_ulong::uvalue#3
unsigned long printf_ulong::uvalue#4
unsigned long printf_ulong::uvalue#5
void queens()
bool queens::$1
char queens::$2
bool queens::$3
bool queens::$4
bool queens::$6
bool queens::$7
bool queens::$8
char queens::row
char queens::row#0
char queens::row#1
char queens::row#10
char queens::row#11
char queens::row#12
char queens::row#2
char queens::row#3
char queens::row#4
char queens::row#5
char queens::row#6
char queens::row#7
char queens::row#8
char queens::row#9
unsigned int strlen(char *str)
bool strlen::$0
unsigned int strlen::len
unsigned int strlen::len#0
unsigned int strlen::len#1
unsigned int strlen::len#2
unsigned int strlen::len#3
unsigned int strlen::len#4
unsigned int strlen::return
unsigned int strlen::return#0
unsigned int strlen::return#1
unsigned int strlen::return#2
unsigned int strlen::return#3
unsigned int strlen::return#4
char *strlen::str
char *strlen::str#0
char *strlen::str#1
char *strlen::str#2
char *strlen::str#3
char *strlen::str#4
char * strupr(char *str)
char strupr::$0
bool strupr::$1
char *strupr::return
char *strupr::return#0
char *strupr::return#1
char *strupr::return#2
char *strupr::return#3
char *strupr::src
char *strupr::src#0
char *strupr::src#1
char *strupr::src#2
char *strupr::src#3
char *strupr::src#4
char *strupr::str
char *strupr::str#0
char *strupr::str#1
char *strupr::str#2
char *strupr::str#3
char *strupr::str#4
char *strupr::str#5
char toupper(char ch)
bool toupper::$0
bool toupper::$1
bool toupper::$2
char toupper::$3
char toupper::ch
char toupper::ch#0
char toupper::ch#1
char toupper::ch#2
char toupper::ch#3
char toupper::return
char toupper::return#0
char toupper::return#1
char toupper::return#2
char toupper::return#3
char toupper::return#4
char toupper::return#5
void uctoa(char value , char *buffer , char radix)
bool uctoa::$0
bool uctoa::$1
char uctoa::$10
bool uctoa::$2
bool uctoa::$3
number uctoa::$4
bool uctoa::$5
bool uctoa::$6
bool uctoa::$7
bool uctoa::$8
char uctoa::$9
char *uctoa::buffer
char *uctoa::buffer#0
char *uctoa::buffer#1
char *uctoa::buffer#10
char *uctoa::buffer#11
char *uctoa::buffer#12
char *uctoa::buffer#13
char *uctoa::buffer#14
char *uctoa::buffer#15
char *uctoa::buffer#16
char *uctoa::buffer#17
char *uctoa::buffer#18
char *uctoa::buffer#19
char *uctoa::buffer#2
char *uctoa::buffer#20
char *uctoa::buffer#21
char *uctoa::buffer#3
char *uctoa::buffer#4
char *uctoa::buffer#5
char *uctoa::buffer#6
char *uctoa::buffer#7
char *uctoa::buffer#8
char *uctoa::buffer#9
char uctoa::digit
char uctoa::digit#0
char uctoa::digit#1
char uctoa::digit#2
char uctoa::digit#3
char uctoa::digit#4
char uctoa::digit#5
char uctoa::digit#6
char uctoa::digit_value
char uctoa::digit_value#0
char uctoa::digit_value#1
char *uctoa::digit_values
char *uctoa::digit_values#0
char *uctoa::digit_values#1
char *uctoa::digit_values#10
char *uctoa::digit_values#2
char *uctoa::digit_values#3
char *uctoa::digit_values#4
char *uctoa::digit_values#5
char *uctoa::digit_values#6
char *uctoa::digit_values#7
char *uctoa::digit_values#8
char *uctoa::digit_values#9
char uctoa::max_digits
char uctoa::max_digits#0
char uctoa::max_digits#1
char uctoa::max_digits#10
char uctoa::max_digits#2
char uctoa::max_digits#3
char uctoa::max_digits#4
char uctoa::max_digits#5
char uctoa::max_digits#6
char uctoa::max_digits#7
char uctoa::max_digits#8
char uctoa::max_digits#9
char uctoa::radix
char uctoa::radix#0
char uctoa::radix#1
char uctoa::radix#2
char uctoa::radix#3
char uctoa::radix#4
char uctoa::started
char uctoa::started#0
char uctoa::started#1
char uctoa::started#2
char uctoa::started#3
char uctoa::started#4
char uctoa::value
char uctoa::value#0
char uctoa::value#1
char uctoa::value#10
char uctoa::value#11
char uctoa::value#12
char uctoa::value#13
char uctoa::value#14
char uctoa::value#15
char uctoa::value#2
char uctoa::value#3
char uctoa::value#4
char uctoa::value#5
char uctoa::value#6
char uctoa::value#7
char uctoa::value#8
char uctoa::value#9
char uctoa_append(char *buffer , char value , char sub)
bool uctoa_append::$0
char *uctoa_append::buffer
char *uctoa_append::buffer#0
char *uctoa_append::buffer#1
char *uctoa_append::buffer#2
char *uctoa_append::buffer#3
char *uctoa_append::buffer#4
char uctoa_append::digit
char uctoa_append::digit#0
char uctoa_append::digit#1
char uctoa_append::digit#2
char uctoa_append::digit#3
char uctoa_append::digit#4
char uctoa_append::return
char uctoa_append::return#0
char uctoa_append::return#1
char uctoa_append::return#2
char uctoa_append::return#3
char uctoa_append::return#4
char uctoa_append::sub
char uctoa_append::sub#0
char uctoa_append::sub#1
char uctoa_append::sub#2
char uctoa_append::sub#3
char uctoa_append::value
char uctoa_append::value#0
char uctoa_append::value#1
char uctoa_append::value#2
char uctoa_append::value#3
char uctoa_append::value#4
char uctoa_append::value#5
void ultoa(unsigned long value , char *buffer , char radix)
bool ultoa::$0
bool ultoa::$1
char ultoa::$10
char ultoa::$11
bool ultoa::$2
bool ultoa::$3
number ultoa::$4
bool ultoa::$5
bool ultoa::$6
bool ultoa::$7
bool ultoa::$8
unsigned long ultoa::$9
char *ultoa::buffer
char *ultoa::buffer#0
char *ultoa::buffer#1
char *ultoa::buffer#10
char *ultoa::buffer#11
char *ultoa::buffer#12
char *ultoa::buffer#13
char *ultoa::buffer#14
char *ultoa::buffer#15
char *ultoa::buffer#16
char *ultoa::buffer#17
char *ultoa::buffer#18
char *ultoa::buffer#19
char *ultoa::buffer#2
char *ultoa::buffer#20
char *ultoa::buffer#21
char *ultoa::buffer#3
char *ultoa::buffer#4
char *ultoa::buffer#5
char *ultoa::buffer#6
char *ultoa::buffer#7
char *ultoa::buffer#8
char *ultoa::buffer#9
char ultoa::digit
char ultoa::digit#0
char ultoa::digit#1
char ultoa::digit#2
char ultoa::digit#3
char ultoa::digit#4
char ultoa::digit#5
char ultoa::digit#6
unsigned long ultoa::digit_value
unsigned long ultoa::digit_value#0
unsigned long ultoa::digit_value#1
unsigned long *ultoa::digit_values
unsigned long *ultoa::digit_values#0
unsigned long *ultoa::digit_values#1
unsigned long *ultoa::digit_values#10
unsigned long *ultoa::digit_values#2
unsigned long *ultoa::digit_values#3
unsigned long *ultoa::digit_values#4
unsigned long *ultoa::digit_values#5
unsigned long *ultoa::digit_values#6
unsigned long *ultoa::digit_values#7
unsigned long *ultoa::digit_values#8
unsigned long *ultoa::digit_values#9
char ultoa::max_digits
char ultoa::max_digits#0
char ultoa::max_digits#1
char ultoa::max_digits#10
char ultoa::max_digits#2
char ultoa::max_digits#3
char ultoa::max_digits#4
char ultoa::max_digits#5
char ultoa::max_digits#6
char ultoa::max_digits#7
char ultoa::max_digits#8
char ultoa::max_digits#9
char ultoa::radix
char ultoa::radix#0
char ultoa::radix#1
char ultoa::radix#2
char ultoa::radix#3
char ultoa::radix#4
char ultoa::started
char ultoa::started#0
char ultoa::started#1
char ultoa::started#2
char ultoa::started#3
char ultoa::started#4
unsigned long ultoa::value
unsigned long ultoa::value#0
unsigned long ultoa::value#1
unsigned long ultoa::value#10
unsigned long ultoa::value#11
unsigned long ultoa::value#12
unsigned long ultoa::value#13
unsigned long ultoa::value#14
unsigned long ultoa::value#15
unsigned long ultoa::value#2
unsigned long ultoa::value#3
unsigned long ultoa::value#4
unsigned long ultoa::value#5
unsigned long ultoa::value#6
unsigned long ultoa::value#7
unsigned long ultoa::value#8
unsigned long ultoa::value#9
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
bool ultoa_append::$0
char *ultoa_append::buffer
char *ultoa_append::buffer#0
char *ultoa_append::buffer#1
char *ultoa_append::buffer#2
char *ultoa_append::buffer#3
char *ultoa_append::buffer#4
char ultoa_append::digit
char ultoa_append::digit#0
char ultoa_append::digit#1
char ultoa_append::digit#2
char ultoa_append::digit#3
char ultoa_append::digit#4
unsigned long ultoa_append::return
unsigned long ultoa_append::return#0
unsigned long ultoa_append::return#1
unsigned long ultoa_append::return#2
unsigned long ultoa_append::return#3
unsigned long ultoa_append::return#4
unsigned long ultoa_append::sub
unsigned long ultoa_append::sub#0
unsigned long ultoa_append::sub#1
unsigned long ultoa_append::sub#2
unsigned long ultoa_append::sub#3
unsigned long ultoa_append::value
unsigned long ultoa_append::value#0
unsigned long ultoa_append::value#1
unsigned long ultoa_append::value#2
unsigned long ultoa_append::value#3
unsigned long ultoa_append::value#4
unsigned long ultoa_append::value#5
void utoa(unsigned int value , char *buffer , char radix)
bool utoa::$0
bool utoa::$1
char utoa::$10
char utoa::$11
bool utoa::$2
bool utoa::$3
number utoa::$4
bool utoa::$5
bool utoa::$6
bool utoa::$7
bool utoa::$8
unsigned int utoa::$9
char *utoa::buffer
char *utoa::buffer#0
char *utoa::buffer#1
char *utoa::buffer#10
char *utoa::buffer#11
char *utoa::buffer#12
char *utoa::buffer#13
char *utoa::buffer#14
char *utoa::buffer#15
char *utoa::buffer#16
char *utoa::buffer#17
char *utoa::buffer#18
char *utoa::buffer#19
char *utoa::buffer#2
char *utoa::buffer#20
char *utoa::buffer#21
char *utoa::buffer#3
char *utoa::buffer#4
char *utoa::buffer#5
char *utoa::buffer#6
char *utoa::buffer#7
char *utoa::buffer#8
char *utoa::buffer#9
char utoa::digit
char utoa::digit#0
char utoa::digit#1
char utoa::digit#2
char utoa::digit#3
char utoa::digit#4
char utoa::digit#5
char utoa::digit#6
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0
unsigned int utoa::digit_value#1
unsigned int *utoa::digit_values
unsigned int *utoa::digit_values#0
unsigned int *utoa::digit_values#1
unsigned int *utoa::digit_values#10
unsigned int *utoa::digit_values#2
unsigned int *utoa::digit_values#3
unsigned int *utoa::digit_values#4
unsigned int *utoa::digit_values#5
unsigned int *utoa::digit_values#6
unsigned int *utoa::digit_values#7
unsigned int *utoa::digit_values#8
unsigned int *utoa::digit_values#9
char utoa::max_digits
char utoa::max_digits#0
char utoa::max_digits#1
char utoa::max_digits#10
char utoa::max_digits#2
char utoa::max_digits#3
char utoa::max_digits#4
char utoa::max_digits#5
char utoa::max_digits#6
char utoa::max_digits#7
char utoa::max_digits#8
char utoa::max_digits#9
char utoa::radix
char utoa::radix#0
char utoa::radix#1
char utoa::radix#2
char utoa::radix#3
char utoa::radix#4
char utoa::started
char utoa::started#0
char utoa::started#1
char utoa::started#2
char utoa::started#3
char utoa::started#4
unsigned int utoa::value
unsigned int utoa::value#0
unsigned int utoa::value#1
unsigned int utoa::value#10
unsigned int utoa::value#11
unsigned int utoa::value#12
unsigned int utoa::value#13
unsigned int utoa::value#14
unsigned int utoa::value#15
unsigned int utoa::value#2
unsigned int utoa::value#3
unsigned int utoa::value#4
unsigned int utoa::value#5
unsigned int utoa::value#6
unsigned int utoa::value#7
unsigned int utoa::value#8
unsigned int utoa::value#9
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
bool utoa_append::$0
char *utoa_append::buffer
char *utoa_append::buffer#0
char *utoa_append::buffer#1
char *utoa_append::buffer#2
char *utoa_append::buffer#3
char *utoa_append::buffer#4
char utoa_append::digit
char utoa_append::digit#0
char utoa_append::digit#1
char utoa_append::digit#2
char utoa_append::digit#3
char utoa_append::digit#4
unsigned int utoa_append::return
unsigned int utoa_append::return#0
unsigned int utoa_append::return#1
unsigned int utoa_append::return#2
unsigned int utoa_append::return#3
unsigned int utoa_append::return#4
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0
unsigned int utoa_append::sub#1
unsigned int utoa_append::sub#2
unsigned int utoa_append::sub#3
unsigned int utoa_append::value
unsigned int utoa_append::value#0
unsigned int utoa_append::value#1
unsigned int utoa_append::value#2
unsigned int utoa_append::value#3
unsigned int utoa_append::value#4
unsigned int utoa_append::value#5

Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#2 > 0
Adding number conversion cast (unumber) 0 in strlen::$0 = 0 != *strlen::str#2
Adding number conversion cast (unumber) 0 in strupr::$1 = 0 != *strupr::src#2
Adding number conversion cast (unumber) 5 in utoa::max_digits#1 = 5
Adding number conversion cast (unumber) 4 in utoa::max_digits#2 = 4
Adding number conversion cast (unumber) 6 in utoa::max_digits#3 = 6
Adding number conversion cast (unumber) $10 in utoa::max_digits#4 = $10
Adding number conversion cast (unumber) 0 in *utoa::buffer#2 = 0
Adding number conversion cast (unumber) 1 in utoa::$4 = utoa::max_digits#5 - 1
Adding number conversion cast (unumber) utoa::$4 in utoa::$4 = utoa::max_digits#5 - (unumber)1
Adding number conversion cast (unumber) 0 in *utoa::buffer#3 = 0
Adding number conversion cast (unumber) 1 in utoa::started#1 = 1
Adding number conversion cast (unumber) $a in ultoa::max_digits#1 = $a
Adding number conversion cast (unumber) 8 in ultoa::max_digits#2 = 8
Adding number conversion cast (unumber) $b in ultoa::max_digits#3 = $b
Adding number conversion cast (unumber) $20 in ultoa::max_digits#4 = $20
Adding number conversion cast (unumber) 0 in *ultoa::buffer#2 = 0
Adding number conversion cast (unumber) 1 in ultoa::$4 = ultoa::max_digits#5 - 1
Adding number conversion cast (unumber) ultoa::$4 in ultoa::$4 = ultoa::max_digits#5 - (unumber)1
Adding number conversion cast (unumber) 0 in *ultoa::buffer#3 = 0
Adding number conversion cast (unumber) 1 in ultoa::started#1 = 1
Adding number conversion cast (unumber) 3 in uctoa::max_digits#1 = 3
Adding number conversion cast (unumber) 2 in uctoa::max_digits#2 = 2
Adding number conversion cast (unumber) 3 in uctoa::max_digits#3 = 3
Adding number conversion cast (unumber) 8 in uctoa::max_digits#4 = 8
Adding number conversion cast (unumber) 0 in *uctoa::buffer#2 = 0
Adding number conversion cast (unumber) 1 in uctoa::$4 = uctoa::max_digits#5 - 1
Adding number conversion cast (unumber) uctoa::$4 in uctoa::$4 = uctoa::max_digits#5 - (unumber)1
Adding number conversion cast (unumber) 0 in *uctoa::buffer#3 = 0
Adding number conversion cast (unumber) 1 in uctoa::started#1 = 1
Adding number conversion cast (unumber) $19 in clrscr::$0 = clrscr::l#2 < $19
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) 0 in conio_cursor_y = 0
Adding number conversion cast (unumber) $28 in clrscr::$1 = clrscr::c#2 < $28
Adding number conversion cast (unumber) $28 in clrscr::line_text#1 = clrscr::line_text#3 + $28
Adding number conversion cast (unumber) $28 in clrscr::line_cols#1 = clrscr::line_cols#3 + $28
Adding number conversion cast (unumber) $19 in gotoxy::$0 = gotoxy::y#4 > $19
Adding number conversion cast (unumber) $28 in gotoxy::$2 = gotoxy::x#4 >= $28
Adding number conversion cast (unumber) 0 in gotoxy::y#0 = 0
Adding number conversion cast (unumber) $28 in gotoxy::line_offset#0 = gotoxy::$7 * $28
Adding number conversion cast (unumber) 0 in gotoxy::x#0 = 0
Adding number conversion cast (unumber) $28 in cputc::$1 = conio_cursor_x == $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text + $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color + $28
Adding number conversion cast (unumber) 0 in conio_cursor_x = 0
Adding number conversion cast (unumber) 0 in *kbhit::CIA1_PORT_A = 0
Adding number conversion cast (unumber) $19 in cscroll::$0 = conio_cursor_y == $19
Adding number conversion cast (unumber) 0 in cscroll::$7 = 0 != conio_scroll_enable
Adding number conversion cast (unumber) $28 in memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#0 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Adding number conversion cast (unumber) $19*$28-$28 in memcpy::num#1 = $19*$28-$28
Adding number conversion cast (unumber) $28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#0 = (void *)CONIO_SCREEN_TEXT+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#0 = $28
Adding number conversion cast (unumber) $28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-$28
Adding number conversion cast (unumber) $19*$28 in memset::str#1 = (void *)CONIO_SCREEN_COLORS+$19*$28-(unumber)$28
Adding number conversion cast (unumber) $28 in memset::num#1 = $28
Adding number conversion cast (unumber) $28 in conio_line_text = conio_line_text - $28
Adding number conversion cast (unumber) $28 in conio_line_color = conio_line_color - $28
Adding number conversion cast (unumber) 0 in gotoxy::x#1 = 0
Adding number conversion cast (unumber) 0 in gotoxy::y#1 = 0
Adding number conversion cast (unumber) $19 in conio_c64_init::$0 = conio_c64_init::line#0 >= $19
Adding number conversion cast (unumber) 0 in gotoxy::x#2 = 0
Adding number conversion cast (unumber) $19-1 in conio_c64_init::line#1 = $19-1
Adding number conversion cast (unumber) 0 in printf_str::$2 = 0 != printf_str::$0
Adding number conversion cast (unumber) 0 in printf_ulong::$5 = 0 != printf_ulong::format_sign_always#2
Adding number conversion cast (unumber) printf_ulong::$2 in printf_ulong::format_upper_case#3 = phi( printf_ulong::@1/printf_ulong::format_upper_case#4, printf_ulong::@2/printf_ulong::format_upper_case#5 )
  printf_ulong::format_zero_padding#3 = phi( printf_ulong::@1/printf_ulong::format_zero_padding#4, printf_ulong::@2/printf_ulong::format_zero_padding#5 )
  printf_ulong::format_sign_always#4 = phi( printf_ulong::@1/printf_ulong::format_sign_always#5, printf_ulong::@2/printf_ulong::format_sign_always#6 )
  printf_ulong::format_justify_left#3 = phi( printf_ulong::@1/printf_ulong::format_justify_left#4, printf_ulong::@2/printf_ulong::format_justify_left#5 )
  printf_ulong::format_min_length#3 = phi( printf_ulong::@1/printf_ulong::format_min_length#4, printf_ulong::@2/printf_ulong::format_min_length#5 )
  printf_ulong::putc#3 = phi( printf_ulong::@1/printf_ulong::putc#4, printf_ulong::@2/printf_ulong::putc#5 )
  printf_ulong::format_radix#2 = phi( printf_ulong::@1/printf_ulong::format_radix#4, printf_ulong::@2/printf_ulong::format_radix#5 )
  printf_ulong::uvalue#2 = phi( printf_ulong::@1/printf_ulong::uvalue#3, printf_ulong::@2/printf_ulong::uvalue#4 )
  printf_ulong::$2 = phi( printf_ulong::@1/printf_ulong::$1, printf_ulong::@2/printf_ulong::$0 )
Adding number conversion cast (unumber) printf_ulong::$0 in printf_ulong::format_upper_case#3 = phi( printf_ulong::@1/printf_ulong::format_upper_case#4, printf_ulong::@2/printf_ulong::format_upper_case#5 )
  printf_ulong::format_zero_padding#3 = phi( printf_ulong::@1/printf_ulong::format_zero_padding#4, printf_ulong::@2/printf_ulong::format_zero_padding#5 )
  printf_ulong::format_sign_always#4 = phi( printf_ulong::@1/printf_ulong::format_sign_always#5, printf_ulong::@2/printf_ulong::format_sign_always#6 )
  printf_ulong::format_justify_left#3 = phi( printf_ulong::@1/printf_ulong::format_justify_left#4, printf_ulong::@2/printf_ulong::format_justify_left#5 )
  printf_ulong::format_min_length#3 = phi( printf_ulong::@1/printf_ulong::format_min_length#4, printf_ulong::@2/printf_ulong::format_min_length#5 )
  printf_ulong::putc#3 = phi( printf_ulong::@1/printf_ulong::putc#4, printf_ulong::@2/printf_ulong::putc#5 )
  printf_ulong::format_radix#2 = phi( printf_ulong::@1/printf_ulong::format_radix#4, printf_ulong::@2/printf_ulong::format_radix#5 )
  printf_ulong::uvalue#2 = phi( printf_ulong::@1/printf_ulong::uvalue#3, printf_ulong::@2/printf_ulong::uvalue#4 )
  printf_ulong::$2 = phi( printf_ulong::@1/printf_ulong::$1, printf_ulong::@2/printf_ulong::$0 )
Adding number conversion cast (unumber) 0 in printf_uint::$5 = 0 != printf_uint::format_sign_always#1
Adding number conversion cast (unumber) printf_uint::$2 in printf_uint::format_upper_case#2 = phi( printf_uint::@1/printf_uint::format_upper_case#3, printf_uint::@2/printf_uint::format_upper_case#4 )
  printf_uint::format_zero_padding#2 = phi( printf_uint::@1/printf_uint::format_zero_padding#3, printf_uint::@2/printf_uint::format_zero_padding#4 )
  printf_uint::format_sign_always#3 = phi( printf_uint::@1/printf_uint::format_sign_always#4, printf_uint::@2/printf_uint::format_sign_always#5 )
  printf_uint::format_justify_left#2 = phi( printf_uint::@1/printf_uint::format_justify_left#3, printf_uint::@2/printf_uint::format_justify_left#4 )
  printf_uint::format_min_length#2 = phi( printf_uint::@1/printf_uint::format_min_length#3, printf_uint::@2/printf_uint::format_min_length#4 )
  printf_uint::putc#2 = phi( printf_uint::@1/printf_uint::putc#3, printf_uint::@2/printf_uint::putc#4 )
  printf_uint::format_radix#1 = phi( printf_uint::@1/printf_uint::format_radix#3, printf_uint::@2/printf_uint::format_radix#4 )
  printf_uint::uvalue#1 = phi( printf_uint::@1/printf_uint::uvalue#2, printf_uint::@2/printf_uint::uvalue#3 )
  printf_uint::$2 = phi( printf_uint::@1/printf_uint::$1, printf_uint::@2/printf_uint::$0 )
Adding number conversion cast (unumber) printf_uint::$0 in printf_uint::format_upper_case#2 = phi( printf_uint::@1/printf_uint::format_upper_case#3, printf_uint::@2/printf_uint::format_upper_case#4 )
  printf_uint::format_zero_padding#2 = phi( printf_uint::@1/printf_uint::format_zero_padding#3, printf_uint::@2/printf_uint::format_zero_padding#4 )
  printf_uint::format_sign_always#3 = phi( printf_uint::@1/printf_uint::format_sign_always#4, printf_uint::@2/printf_uint::format_sign_always#5 )
  printf_uint::format_justify_left#2 = phi( printf_uint::@1/printf_uint::format_justify_left#3, printf_uint::@2/printf_uint::format_justify_left#4 )
  printf_uint::format_min_length#2 = phi( printf_uint::@1/printf_uint::format_min_length#3, printf_uint::@2/printf_uint::format_min_length#4 )
  printf_uint::putc#2 = phi( printf_uint::@1/printf_uint::putc#3, printf_uint::@2/printf_uint::putc#4 )
  printf_uint::format_radix#1 = phi( printf_uint::@1/printf_uint::format_radix#3, printf_uint::@2/printf_uint::format_radix#4 )
  printf_uint::uvalue#1 = phi( printf_uint::@1/printf_uint::uvalue#2, printf_uint::@2/printf_uint::uvalue#3 )
  printf_uint::$2 = phi( printf_uint::@1/printf_uint::$1, printf_uint::@2/printf_uint::$0 )
Adding number conversion cast (unumber) 0 in printf_uchar::$5 = 0 != printf_uchar::format_sign_always#2
Adding number conversion cast (unumber) printf_uchar::$2 in printf_uchar::format_upper_case#3 = phi( printf_uchar::@1/printf_uchar::format_upper_case#4, printf_uchar::@2/printf_uchar::format_upper_case#5 )
  printf_uchar::format_zero_padding#3 = phi( printf_uchar::@1/printf_uchar::format_zero_padding#4, printf_uchar::@2/printf_uchar::format_zero_padding#5 )
  printf_uchar::format_sign_always#4 = phi( printf_uchar::@1/printf_uchar::format_sign_always#5, printf_uchar::@2/printf_uchar::format_sign_always#6 )
  printf_uchar::format_justify_left#3 = phi( printf_uchar::@1/printf_uchar::format_justify_left#4, printf_uchar::@2/printf_uchar::format_justify_left#5 )
  printf_uchar::format_min_length#3 = phi( printf_uchar::@1/printf_uchar::format_min_length#4, printf_uchar::@2/printf_uchar::format_min_length#5 )
  printf_uchar::putc#3 = phi( printf_uchar::@1/printf_uchar::putc#4, printf_uchar::@2/printf_uchar::putc#5 )
  printf_uchar::format_radix#2 = phi( printf_uchar::@1/printf_uchar::format_radix#4, printf_uchar::@2/printf_uchar::format_radix#5 )
  printf_uchar::uvalue#2 = phi( printf_uchar::@1/printf_uchar::uvalue#3, printf_uchar::@2/printf_uchar::uvalue#4 )
  printf_uchar::$2 = phi( printf_uchar::@1/printf_uchar::$1, printf_uchar::@2/printf_uchar::$0 )
Adding number conversion cast (unumber) printf_uchar::$0 in printf_uchar::format_upper_case#3 = phi( printf_uchar::@1/printf_uchar::format_upper_case#4, printf_uchar::@2/printf_uchar::format_upper_case#5 )
  printf_uchar::format_zero_padding#3 = phi( printf_uchar::@1/printf_uchar::format_zero_padding#4, printf_uchar::@2/printf_uchar::format_zero_padding#5 )
  printf_uchar::format_sign_always#4 = phi( printf_uchar::@1/printf_uchar::format_sign_always#5, printf_uchar::@2/printf_uchar::format_sign_always#6 )
  printf_uchar::format_justify_left#3 = phi( printf_uchar::@1/printf_uchar::format_justify_left#4, printf_uchar::@2/printf_uchar::format_justify_left#5 )
  printf_uchar::format_min_length#3 = phi( printf_uchar::@1/printf_uchar::format_min_length#4, printf_uchar::@2/printf_uchar::format_min_length#5 )
  printf_uchar::putc#3 = phi( printf_uchar::@1/printf_uchar::putc#4, printf_uchar::@2/printf_uchar::putc#5 )
  printf_uchar::format_radix#2 = phi( printf_uchar::@1/printf_uchar::format_radix#4, printf_uchar::@2/printf_uchar::format_radix#5 )
  printf_uchar::uvalue#2 = phi( printf_uchar::@1/printf_uchar::uvalue#3, printf_uchar::@2/printf_uchar::uvalue#4 )
  printf_uchar::$2 = phi( printf_uchar::@1/printf_uchar::$1, printf_uchar::@2/printf_uchar::$0 )
Adding number conversion cast (unumber) 0 in printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#3
Adding number conversion cast (unumber) 0 in printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#3
Adding number conversion cast (unumber) 0 in printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#3
Adding number conversion cast (unumber) 0 in printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#3
Adding number conversion cast (snumber) 0 in printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
Adding number conversion cast (snumber) 0 in printf_number_buffer::padding#2 = 0
Adding number conversion cast (unumber) 0 in printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#4
Adding number conversion cast (unumber) 0 in printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#3
Adding number conversion cast (unumber) 0 in printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#5
Adding number conversion cast (unumber) 8 in printf_uint::uvalue#0 = 8
Adding number conversion cast (unumber) 0 in main::$7 = 0 != main::$5
Adding number conversion cast (unumber) 8+1 in queens::$1 = board[queens::row#3] == 8+1
Adding number conversion cast (unumber) 0 in board[queens::row#4] = 0
Adding number conversion cast (unumber) 1 in queens::$6 = queens::row#4 == 1
Adding number conversion cast (unumber) 0 in queens::$8 = 0 != queens::$2
Adding number conversion cast (unumber) 8 in queens::$4 = queens::row#6 == 8
Adding number conversion cast (unumber) 1 in legal::$0 = legal::row#1 - 1
Adding number conversion cast (unumber) legal::$0 in legal::$0 = legal::row#1 - (unumber)1
Adding number conversion cast (unumber) 1 in legal::return#1 = 1
Adding number conversion cast (unumber) 0 in legal::return#2 = 0
Adding number conversion cast (unumber) 0 in legal::return#3 = 0
Adding number conversion cast (unumber) 0 in gotoxy::x#3 = 0
Adding number conversion cast (unumber) 5 in gotoxy::y#3 = 5
Adding number conversion cast (unumber) 8 in print::$2 = print::i#2 <= 8
Adding number conversion cast (unumber) 8 in print::$4 = print::i1#2 <= 8
Adding number conversion cast (unumber) 8 in print::$6 = print::j#2 <= 8
Successful SSA optimization PassNAddNumberTypeConversions
Adding number conversion cast (unumber) 0 in printf_ulong::$0 = 0
Adding number conversion cast (unumber) 0 in printf_uint::$0 = 0
Adding number conversion cast (unumber) 0 in printf_uchar::$0 = 0
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast memcpy::src#0 = (char *)memcpy::source#2
Inlining cast memcpy::dst#0 = (char *)memcpy::destination#2
Inlining cast memset::dst#0 = (char *)memset::str#3
Inlining cast utoa::max_digits#1 = (unumber)5
Inlining cast utoa::max_digits#2 = (unumber)4
Inlining cast utoa::max_digits#3 = (unumber)6
Inlining cast utoa::max_digits#4 = (unumber)$10
Inlining cast *utoa::buffer#2 = (unumber)0
Inlining cast *utoa::buffer#3 = (unumber)0
Inlining cast utoa::started#1 = (unumber)1
Inlining cast ultoa::max_digits#1 = (unumber)$a
Inlining cast ultoa::max_digits#2 = (unumber)8
Inlining cast ultoa::max_digits#3 = (unumber)$b
Inlining cast ultoa::max_digits#4 = (unumber)$20
Inlining cast *ultoa::buffer#2 = (unumber)0
Inlining cast *ultoa::buffer#3 = (unumber)0
Inlining cast ultoa::started#1 = (unumber)1
Inlining cast uctoa::max_digits#1 = (unumber)3
Inlining cast uctoa::max_digits#2 = (unumber)2
Inlining cast uctoa::max_digits#3 = (unumber)3
Inlining cast uctoa::max_digits#4 = (unumber)8
Inlining cast *uctoa::buffer#2 = (unumber)0
Inlining cast *uctoa::buffer#3 = (unumber)0
Inlining cast uctoa::started#1 = (unumber)1
Inlining cast conio_cursor_x = (unumber)0
Inlining cast conio_cursor_y = (unumber)0
Inlining cast gotoxy::y#0 = (unumber)0
Inlining cast gotoxy::x#0 = (unumber)0
Inlining cast conio_cursor_x = (unumber)0
Inlining cast *kbhit::CIA1_PORT_A = (unumber)0
Inlining cast memcpy::num#0 = (unumber)$19*$28-$28
Inlining cast memcpy::num#1 = (unumber)$19*$28-$28
Inlining cast memset::num#0 = (unumber)$28
Inlining cast memset::num#1 = (unumber)$28
Inlining cast gotoxy::x#1 = (unumber)0
Inlining cast gotoxy::y#1 = (unumber)0
Inlining cast gotoxy::x#2 = (unumber)0
Inlining cast conio_c64_init::line#1 = (unumber)$19-1
Inlining cast printf_ulong::$0 = (unumber)0
Inlining cast printf_uint::$0 = (unumber)0
Inlining cast printf_uchar::$0 = (unumber)0
Inlining cast printf_number_buffer::padding#2 = (snumber)0
Inlining cast printf_uint::uvalue#0 = (unumber)8
Inlining cast board[queens::row#4] = (unumber)0
Inlining cast legal::return#1 = (unumber)1
Inlining cast legal::return#2 = (unumber)0
Inlining cast legal::return#3 = (unumber)0
Inlining cast gotoxy::x#3 = (unumber)0
Inlining cast gotoxy::y#3 = (unumber)5
Successful SSA optimization Pass2InlineCast
Simplifying constant pointer cast (char *) 56320
Simplifying constant pointer cast (char *) 56321
Simplifying constant pointer cast (char *) 55296
Simplifying constant pointer cast (char *) 1024
Simplifying constant pointer cast (char *) 214
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 5
Simplifying constant integer cast 4
Simplifying constant integer cast 6
Simplifying constant integer cast $10
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $a
Simplifying constant integer cast 8
Simplifying constant integer cast $b
Simplifying constant integer cast $20
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 3
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast 8
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast uctoa::value#3
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $19
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $19
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $19
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $19
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 8
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 8
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 5
Simplifying constant integer cast 8
Simplifying constant integer cast 8
Simplifying constant integer cast 8
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $20
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 5
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 8
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to char in utoa::$4 = utoa::max_digits#5 - 1
Inferred type updated to char in ultoa::$4 = ultoa::max_digits#5 - 1
Inferred type updated to char in uctoa::$4 = uctoa::max_digits#5 - 1
Inferred type updated to char in printf_ulong::$0 = 0
Inferred type updated to char for printf_ulong::$2
Inferred type updated to char in printf_uint::$0 = 0
Inferred type updated to char for printf_uint::$2
Inferred type updated to char in printf_uchar::$0 = 0
Inferred type updated to char for printf_uchar::$2
Inferred type updated to char in legal::$0 = legal::row#1 - 1
Inversing boolean not [19] memset::$1 = memset::num#2 <= 0 from [18] memset::$0 = memset::num#2 > 0
Inversing boolean not [348] gotoxy::$1 = gotoxy::y#4 <= $19 from [347] gotoxy::$0 = gotoxy::y#4 > $19
Inversing boolean not [352] gotoxy::$3 = gotoxy::x#4 < $28 from [351] gotoxy::$2 = gotoxy::x#4 >= $28
Inversing boolean not [377] cputc::$2 = conio_cursor_x != $28 from [376] cputc::$1 = conio_cursor_x == $28
Inversing boolean not [394] cscroll::$1 = conio_cursor_y != $19 from [393] cscroll::$0 = conio_cursor_y == $19
Inversing boolean not [427] conio_c64_init::$1 = conio_c64_init::line#0 < $19 from [426] conio_c64_init::$0 = conio_c64_init::line#0 >= $19
Inversing boolean not [538] printf_number_buffer::$0 = 0 == printf_number_buffer::format_min_length#3 from [537] printf_number_buffer::$26 = 0 != printf_number_buffer::format_min_length#3
Inversing boolean not [542] printf_number_buffer::$1 = 0 == printf_number_buffer::format_justify_left#3 from [541] printf_number_buffer::$27 = 0 != printf_number_buffer::format_justify_left#3
Inversing boolean not [544] printf_number_buffer::$2 = 0 == printf_number_buffer::format_zero_padding#3 from [543] printf_number_buffer::$28 = 0 != printf_number_buffer::format_zero_padding#3
Inversing boolean not [557] printf_number_buffer::$20 = 0 == printf_number_buffer::buffer_sign#3 from [556] printf_number_buffer::$29 = 0 != printf_number_buffer::buffer_sign#3
Inversing boolean not [564] printf_number_buffer::$23 = printf_number_buffer::padding#1 >= 0 from [563] printf_number_buffer::$22 = printf_number_buffer::padding#1 < 0
Inversing boolean not [572] printf_number_buffer::$7 = 0 == printf_number_buffer::buffer_sign#4 from [571] printf_number_buffer::$30 = 0 != printf_number_buffer::buffer_sign#4
Inversing boolean not [590] printf_number_buffer::$12 = 0 == printf_number_buffer::format_upper_case#3 from [589] printf_number_buffer::$31 = 0 != printf_number_buffer::format_upper_case#3
Inversing boolean not [604] printf_number_buffer::$14 = 0 == printf_number_buffer::format_zero_padding#5 from [603] printf_number_buffer::$32 = 0 != printf_number_buffer::format_zero_padding#5
Inversing boolean not [668] main::$6 = 0 == main::$5 from [667] main::$7 = 0 != main::$5
Inversing boolean not [694] queens::$3 = 0 == queens::$2 from [693] queens::$8 = 0 != queens::$2
Inversing boolean not [753] legal::$6 = legal::$3 != legal::$4 from [752] legal::$5 = legal::$3 == legal::$4
Successful SSA optimization Pass2UnaryNotSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Alias memcpy::src#2 = memcpy::src#3 
Alias memcpy::dst#2 = memcpy::dst#3 
Alias memcpy::src_end#1 = memcpy::src_end#2 
Alias memcpy::destination#3 = memcpy::destination#5 memcpy::destination#4 memcpy::return#0 memcpy::return#4 memcpy::return#1 
Alias memset::return#0 = memset::str#2 memset::return#4 memset::return#1 
Alias memset::str#3 = memset::str#4 
Alias memset::num#2 = memset::num#3 
Alias memset::c#4 = memset::c#5 
Alias memset::c#2 = memset::c#3 
Alias memset::dst#2 = memset::dst#3 
Alias memset::end#1 = memset::end#2 
Alias memset::str#5 = memset::str#6 
Alias strlen::len#2 = strlen::len#4 strlen::len#3 strlen::return#0 strlen::return#3 strlen::return#1 
Alias strlen::str#2 = strlen::str#3 
Alias toupper::ch#1 = toupper::ch#2 toupper::ch#3 toupper::return#1 
Alias toupper::return#0 = toupper::$3 
Alias toupper::return#2 = toupper::return#4 
Alias strupr::src#0 = strupr::str#1 
Alias strupr::src#2 = strupr::src#3 strupr::src#4 
Alias strupr::str#2 = strupr::str#5 strupr::str#3 strupr::str#4 strupr::return#0 strupr::return#3 strupr::return#1 
Alias toupper::return#3 = toupper::return#5 
Alias utoa::value#10 = utoa::value#8 utoa::value#12 utoa::value#13 utoa::value#9 utoa::value#14 utoa::value#15 utoa::value#11 
Alias utoa::buffer#10 = utoa::buffer#17 utoa::buffer#21 utoa::buffer#16 utoa::buffer#18 utoa::buffer#13 utoa::buffer#19 utoa::buffer#20 utoa::buffer#6 
Alias utoa::radix#1 = utoa::radix#2 utoa::radix#3 utoa::radix#4 
Alias utoa::digit#2 = utoa::digit#3 utoa::digit#6 utoa::digit#5 
Alias utoa::digit_values#10 = utoa::digit_values#5 utoa::digit_values#6 utoa::digit_values#9 
Alias utoa::value#2 = utoa::value#5 utoa::value#3 utoa::value#4 
Alias utoa::started#2 = utoa::started#3 
Alias utoa::buffer#11 = utoa::buffer#12 utoa::buffer#7 utoa::buffer#8 utoa::buffer#9 
Alias utoa::max_digits#10 = utoa::max_digits#8 utoa::max_digits#5 utoa::max_digits#9 
Alias utoa::digit_value#0 = utoa::digit_value#1 
Alias utoa_append::return#0 = utoa_append::return#3 
Alias utoa::value#0 = utoa::$9 
Alias ultoa::value#10 = ultoa::value#8 ultoa::value#12 ultoa::value#13 ultoa::value#9 ultoa::value#14 ultoa::value#15 ultoa::value#11 
Alias ultoa::buffer#10 = ultoa::buffer#17 ultoa::buffer#21 ultoa::buffer#16 ultoa::buffer#18 ultoa::buffer#13 ultoa::buffer#19 ultoa::buffer#20 ultoa::buffer#6 
Alias ultoa::radix#1 = ultoa::radix#2 ultoa::radix#3 ultoa::radix#4 
Alias ultoa::digit#2 = ultoa::digit#3 ultoa::digit#6 ultoa::digit#5 
Alias ultoa::digit_values#10 = ultoa::digit_values#5 ultoa::digit_values#6 ultoa::digit_values#9 
Alias ultoa::value#2 = ultoa::value#5 ultoa::value#3 ultoa::value#4 
Alias ultoa::started#2 = ultoa::started#3 
Alias ultoa::buffer#11 = ultoa::buffer#12 ultoa::buffer#7 ultoa::buffer#8 ultoa::buffer#9 
Alias ultoa::max_digits#10 = ultoa::max_digits#8 ultoa::max_digits#5 ultoa::max_digits#9 
Alias ultoa::digit_value#0 = ultoa::digit_value#1 
Alias ultoa_append::return#0 = ultoa_append::return#3 
Alias ultoa::value#0 = ultoa::$9 
Alias uctoa::value#10 = uctoa::value#8 uctoa::value#12 uctoa::value#13 uctoa::value#9 uctoa::value#14 uctoa::value#15 uctoa::value#11 
Alias uctoa::buffer#10 = uctoa::buffer#17 uctoa::buffer#21 uctoa::buffer#16 uctoa::buffer#18 uctoa::buffer#13 uctoa::buffer#19 uctoa::buffer#20 uctoa::buffer#6 
Alias uctoa::radix#1 = uctoa::radix#2 uctoa::radix#3 uctoa::radix#4 
Alias uctoa::digit_values#10 = uctoa::digit_values#5 uctoa::digit_values#6 uctoa::digit_values#9 
Alias uctoa::digit#2 = uctoa::digit#3 uctoa::digit#6 uctoa::digit#5 
Alias uctoa::value#2 = uctoa::value#5 uctoa::value#3 uctoa::$10 uctoa::value#4 
Alias uctoa::started#2 = uctoa::started#3 
Alias uctoa::buffer#11 = uctoa::buffer#12 uctoa::buffer#7 uctoa::buffer#8 uctoa::buffer#9 
Alias uctoa::max_digits#10 = uctoa::max_digits#8 uctoa::max_digits#5 uctoa::max_digits#9 
Alias uctoa::digit_value#0 = uctoa::digit_value#1 
Alias uctoa_append::return#0 = uctoa_append::return#3 
Alias uctoa::value#0 = uctoa::$9 
Alias uctoa_append::digit#2 = uctoa_append::digit#4 uctoa_append::digit#3 
Alias uctoa_append::value#2 = uctoa_append::value#3 uctoa_append::value#4 uctoa_append::return#1 uctoa_append::return#4 uctoa_append::return#2 
Alias uctoa_append::sub#1 = uctoa_append::sub#2 
Alias uctoa_append::buffer#1 = uctoa_append::buffer#4 uctoa_append::buffer#2 
Alias utoa_append::digit#2 = utoa_append::digit#4 utoa_append::digit#3 
Alias utoa_append::value#2 = utoa_append::value#3 utoa_append::value#4 utoa_append::return#1 utoa_append::return#4 utoa_append::return#2 
Alias utoa_append::sub#1 = utoa_append::sub#2 
Alias utoa_append::buffer#1 = utoa_append::buffer#4 utoa_append::buffer#2 
Alias ultoa_append::digit#2 = ultoa_append::digit#4 ultoa_append::digit#3 
Alias ultoa_append::value#2 = ultoa_append::value#3 ultoa_append::value#4 ultoa_append::return#1 ultoa_append::return#4 ultoa_append::return#2 
Alias ultoa_append::sub#1 = ultoa_append::sub#2 
Alias ultoa_append::buffer#1 = ultoa_append::buffer#4 ultoa_append::buffer#2 
Alias clrscr::line_text#5 = clrscr::line_text#6 
Alias clrscr::line_cols#5 = clrscr::line_cols#6 
Alias clrscr::l#2 = clrscr::l#5 
Alias clrscr::line_text#2 = clrscr::line_text#4 clrscr::line_text#3 
Alias clrscr::c#2 = clrscr::c#3 
Alias clrscr::line_cols#2 = clrscr::line_cols#4 clrscr::line_cols#3 
Alias clrscr::l#3 = clrscr::l#6 clrscr::l#4 
Alias gotoxy::x#6 = gotoxy::x#7 
Alias gotoxy::y#6 = gotoxy::y#7 
Alias cputc::c#0 = cputc::c#1 
Alias kbhit::return#0 = kbhit::$0 kbhit::return#3 kbhit::return#1 
Alias printf_str::c#1 = printf_str::$0 printf_str::c#2 
Alias printf_str::putc#10 = printf_str::putc#11 
Alias printf_str::s#0 = printf_str::s#13 
Alias printf_padding::pad#3 = printf_padding::pad#4 printf_padding::pad#6 
Alias printf_padding::putc#3 = printf_padding::putc#4 printf_padding::putc#6 
Alias printf_padding::i#2 = printf_padding::i#4 printf_padding::i#3 
Alias printf_padding::length#3 = printf_padding::length#6 printf_padding::length#5 
Alias printf_ulong::uvalue#3 = printf_ulong::uvalue#5 printf_ulong::uvalue#4 
Alias printf_ulong::format_radix#4 = printf_ulong::format_radix#6 printf_ulong::format_radix#5 
Alias printf_ulong::putc#4 = printf_ulong::putc#6 printf_ulong::putc#5 
Alias printf_ulong::format_min_length#4 = printf_ulong::format_min_length#6 printf_ulong::format_min_length#5 
Alias printf_ulong::format_justify_left#4 = printf_ulong::format_justify_left#6 printf_ulong::format_justify_left#5 
Alias printf_ulong::format_sign_always#2 = printf_ulong::format_sign_always#5 printf_ulong::format_sign_always#6 
Alias printf_ulong::format_zero_padding#4 = printf_ulong::format_zero_padding#6 printf_ulong::format_zero_padding#5 
Alias printf_ulong::format_upper_case#4 = printf_ulong::format_upper_case#6 printf_ulong::format_upper_case#5 
Alias printf_ulong::putc#2 = printf_ulong::putc#3 
Alias printf_ulong::format_min_length#2 = printf_ulong::format_min_length#3 
Alias printf_ulong::format_justify_left#2 = printf_ulong::format_justify_left#3 
Alias printf_ulong::format_sign_always#3 = printf_ulong::format_sign_always#4 
Alias printf_ulong::format_zero_padding#2 = printf_ulong::format_zero_padding#3 
Alias printf_ulong::format_upper_case#2 = printf_ulong::format_upper_case#3 
Alias printf_ulong::format_radix#2 = printf_ulong::format_radix#3 
Alias printf_uint::uvalue#2 = printf_uint::uvalue#4 printf_uint::uvalue#3 
Alias printf_uint::format_radix#3 = printf_uint::format_radix#5 printf_uint::format_radix#4 
Alias printf_uint::putc#3 = printf_uint::putc#5 printf_uint::putc#4 
Alias printf_uint::format_min_length#3 = printf_uint::format_min_length#5 printf_uint::format_min_length#4 
Alias printf_uint::format_justify_left#3 = printf_uint::format_justify_left#5 printf_uint::format_justify_left#4 
Alias printf_uint::format_sign_always#1 = printf_uint::format_sign_always#4 printf_uint::format_sign_always#5 
Alias printf_uint::format_zero_padding#3 = printf_uint::format_zero_padding#5 printf_uint::format_zero_padding#4 
Alias printf_uint::format_upper_case#3 = printf_uint::format_upper_case#5 printf_uint::format_upper_case#4 
Alias printf_uint::putc#1 = printf_uint::putc#2 
Alias printf_uint::format_min_length#1 = printf_uint::format_min_length#2 
Alias printf_uint::format_justify_left#1 = printf_uint::format_justify_left#2 
Alias printf_uint::format_sign_always#2 = printf_uint::format_sign_always#3 
Alias printf_uint::format_zero_padding#1 = printf_uint::format_zero_padding#2 
Alias printf_uint::format_upper_case#1 = printf_uint::format_upper_case#2 
Alias printf_uint::format_radix#1 = printf_uint::format_radix#2 
Alias printf_uchar::uvalue#3 = printf_uchar::uvalue#5 printf_uchar::uvalue#4 
Alias printf_uchar::format_radix#4 = printf_uchar::format_radix#6 printf_uchar::format_radix#5 
Alias printf_uchar::putc#4 = printf_uchar::putc#6 printf_uchar::putc#5 
Alias printf_uchar::format_min_length#4 = printf_uchar::format_min_length#6 printf_uchar::format_min_length#5 
Alias printf_uchar::format_justify_left#4 = printf_uchar::format_justify_left#6 printf_uchar::format_justify_left#5 
Alias printf_uchar::format_sign_always#2 = printf_uchar::format_sign_always#5 printf_uchar::format_sign_always#6 
Alias printf_uchar::format_zero_padding#4 = printf_uchar::format_zero_padding#6 printf_uchar::format_zero_padding#5 
Alias printf_uchar::format_upper_case#4 = printf_uchar::format_upper_case#6 printf_uchar::format_upper_case#5 
Alias printf_uchar::putc#2 = printf_uchar::putc#3 
Alias printf_uchar::format_min_length#2 = printf_uchar::format_min_length#3 
Alias printf_uchar::format_justify_left#2 = printf_uchar::format_justify_left#3 
Alias printf_uchar::format_sign_always#3 = printf_uchar::format_sign_always#4 
Alias printf_uchar::format_zero_padding#2 = printf_uchar::format_zero_padding#3 
Alias printf_uchar::format_upper_case#2 = printf_uchar::format_upper_case#3 
Alias printf_uchar::format_radix#2 = printf_uchar::format_radix#3 
Alias printf_number_buffer::buffer_digits#19 = printf_number_buffer::buffer_digits#3 printf_number_buffer::buffer_digits#6 printf_number_buffer::buffer_digits#20 
Alias printf_number_buffer::buffer_sign#13 = printf_number_buffer::buffer_sign#6 printf_number_buffer::buffer_sign#9 printf_number_buffer::buffer_sign#3 
Alias printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#7 printf_number_buffer::format_min_length#5 printf_number_buffer::format_min_length#6 
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#13 printf_number_buffer::format_justify_left#5 printf_number_buffer::format_justify_left#9 
Alias printf_number_buffer::format_zero_padding#12 = printf_number_buffer::format_zero_padding#17 printf_number_buffer::format_zero_padding#6 printf_number_buffer::format_zero_padding#13 
Alias printf_number_buffer::putc#14 = printf_number_buffer::putc#22 printf_number_buffer::putc#20 printf_number_buffer::putc#21 
Alias printf_number_buffer::format_upper_case#11 = printf_number_buffer::format_upper_case#17 printf_number_buffer::format_upper_case#15 printf_number_buffer::format_upper_case#16 
Alias strlen::return#2 = strlen::return#4 
Alias printf_number_buffer::padding#1 = printf_number_buffer::$21 
Alias printf_number_buffer::len#0 = printf_number_buffer::len#3 
Alias printf_number_buffer::format_justify_left#6 = printf_number_buffer::format_justify_left#7 
Alias printf_number_buffer::format_zero_padding#7 = printf_number_buffer::format_zero_padding#8 
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#11 
Alias printf_number_buffer::putc#15 = printf_number_buffer::putc#16 
Alias printf_number_buffer::format_upper_case#12 = printf_number_buffer::format_upper_case#13 
Alias printf_number_buffer::buffer_digits#16 = printf_number_buffer::buffer_digits#17 
Alias printf_number_buffer::putc#17 = printf_number_buffer::putc#3 printf_number_buffer::putc#8 
Alias printf_number_buffer::padding#12 = printf_number_buffer::padding#4 printf_number_buffer::padding#3 
Alias printf_number_buffer::buffer_sign#12 = printf_number_buffer::buffer_sign#7 printf_number_buffer::buffer_sign#8 
Alias printf_number_buffer::format_zero_padding#14 = printf_number_buffer::format_zero_padding#18 printf_number_buffer::format_zero_padding#3 
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#14 printf_number_buffer::format_upper_case#9 
Alias printf_number_buffer::buffer_digits#14 = printf_number_buffer::buffer_digits#18 printf_number_buffer::buffer_digits#15 
Alias printf_number_buffer::format_justify_left#20 = printf_number_buffer::format_justify_left#21 printf_number_buffer::format_justify_left#3 
Alias printf_number_buffer::buffer_sign#4 = printf_number_buffer::buffer_sign#5 
Alias printf_number_buffer::putc#4 = printf_number_buffer::putc#9 
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#9 
Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#9 
Alias printf_number_buffer::format_upper_case#6 = printf_number_buffer::format_upper_case#7 
Alias printf_number_buffer::buffer_digits#11 = printf_number_buffer::buffer_digits#12 
Alias printf_number_buffer::format_justify_left#17 = printf_number_buffer::format_justify_left#18 
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#5 printf_number_buffer::putc#18 
Alias printf_number_buffer::padding#15 = printf_number_buffer::padding#6 printf_number_buffer::padding#5 
Alias printf_number_buffer::format_upper_case#4 = printf_number_buffer::format_upper_case#8 printf_number_buffer::format_upper_case#5 
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#13 printf_number_buffer::buffer_digits#9 
Alias printf_number_buffer::format_zero_padding#19 = printf_number_buffer::format_zero_padding#21 printf_number_buffer::format_zero_padding#4 
Alias printf_number_buffer::format_justify_left#14 = printf_number_buffer::format_justify_left#19 printf_number_buffer::format_justify_left#15 
Alias printf_number_buffer::format_zero_padding#11 = printf_number_buffer::format_zero_padding#5 
Alias printf_number_buffer::format_justify_left#4 = printf_number_buffer::format_justify_left#8 
Alias printf_number_buffer::padding#11 = printf_number_buffer::padding#7 printf_number_buffer::padding#8 
Alias printf_number_buffer::putc#13 = printf_number_buffer::putc#6 printf_number_buffer::putc#7 
Alias printf_number_buffer::buffer_digits#5 = printf_number_buffer::buffer_digits#8 printf_number_buffer::buffer_digits#7 
Alias printf_number_buffer::putc#11 = printf_number_buffer::putc#19 printf_number_buffer::putc#12 
Alias printf_number_buffer::format_zero_padding#15 = printf_number_buffer::format_zero_padding#20 printf_number_buffer::format_zero_padding#16 
Alias printf_number_buffer::format_justify_left#11 = printf_number_buffer::format_justify_left#16 printf_number_buffer::format_justify_left#12 
Alias printf_number_buffer::padding#13 = printf_number_buffer::padding#16 printf_number_buffer::padding#14 
Alias count#15 = count#35 count#37 count#32 count#22 
Alias count#0 = count#7 count#8 count#36 count#33 
Alias kbhit::return#2 = kbhit::return#4 
Alias count#1 = count#16 count#23 count#9 
Alias queens::row#10 = queens::row#3 queens::row#9 queens::row#4 queens::row#5 queens::row#6 queens::row#12 queens::row#11 queens::row#7 queens::row#8 
Alias count#10 = count#29 count#18 count#19 count#34 count#28 count#17 count#26 count#27 
Alias legal::return#0 = legal::return#5 
Alias count#2 = count#25 
Alias count#11 = count#3 
Alias legal::i#10 = legal::i#3 legal::i#2 legal::i#4 legal::i#12 legal::i#9 
Alias legal::column#1 = legal::column#3 legal::column#2 legal::diff1_b#0 legal::diff1_b#1 legal::column#15 legal::diff1_b#2 legal::column#13 legal::diff1_b#3 legal::column#14 
Alias legal::row#1 = legal::row#14 legal::row#11 legal::row#9 legal::row#6 legal::row#7 
Alias legal::diff1_a#0 = legal::diff1_a#1 legal::diff1_a#2 legal::diff1_a#3 
Alias legal::diff1_return#0 = legal::diff1_$2 
Alias legal::diff1_return#1 = legal::diff1_$1 
Alias legal::diff1_return#2 = legal::diff1_return#3 legal::diff1_return#4 legal::$3 
Alias legal::i#13 = legal::i#5 legal::i#7 legal::diff2_a#0 legal::diff2_a#1 legal::i#15 legal::diff2_a#2 legal::diff2_a#3 legal::i#14 
Alias legal::row#12 = legal::row#2 legal::row#5 legal::diff2_b#0 legal::diff2_b#1 legal::row#15 legal::diff2_b#2 legal::diff2_b#3 legal::row#13 
Alias legal::column#10 = legal::column#11 legal::column#12 legal::column#8 legal::column#9 
Alias legal::diff2_return#0 = legal::diff2_$2 
Alias legal::diff2_return#1 = legal::diff2_$1 
Alias legal::diff2_return#2 = legal::diff2_return#3 legal::diff2_return#4 legal::$4 
Alias legal::i#11 = legal::i#8 legal::i#6 
Alias legal::row#10 = legal::row#8 legal::row#4 
Alias legal::column#5 = legal::column#6 legal::column#7 
Alias legal::return#4 = legal::return#6 
Alias count#12 = count#20 count#30 
Alias print::i#2 = print::i#3 print::i#4 
Alias print::i1#2 = print::i1#6 print::i1#3 print::i1#9 
Alias print::i1#10 = print::i1#4 print::i1#7 print::i1#5 print::i1#12 print::i1#13 print::i1#11 
Alias print::j#2 = print::j#3 print::j#7 print::j#5 print::j#8 print::j#6 
Alias count#21 = count#31 count#4 
Alias count#13 = count#5 count#14 count#6 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Alias utoa::value#10 = utoa::value#7 
Alias utoa::buffer#10 = utoa::buffer#15 
Alias utoa::digit#2 = utoa::digit#4 
Alias utoa::max_digits#10 = utoa::max_digits#6 
Alias utoa::digit_values#10 = utoa::digit_values#7 
Alias ultoa::value#10 = ultoa::value#7 
Alias ultoa::buffer#10 = ultoa::buffer#15 
Alias ultoa::digit#2 = ultoa::digit#4 
Alias ultoa::max_digits#10 = ultoa::max_digits#6 
Alias ultoa::digit_values#10 = ultoa::digit_values#7 
Alias uctoa::value#10 = uctoa::value#7 
Alias uctoa::buffer#10 = uctoa::buffer#15 
Alias uctoa::digit#2 = uctoa::digit#4 
Alias uctoa::max_digits#10 = uctoa::max_digits#6 
Alias uctoa::digit_values#10 = uctoa::digit_values#7 
Alias gotoxy::x#4 = gotoxy::x#6 
Alias gotoxy::y#5 = gotoxy::y#6 
Alias printf_ulong::uvalue#2 = printf_ulong::uvalue#3 
Alias printf_ulong::format_radix#2 = printf_ulong::format_radix#4 
Alias printf_ulong::putc#2 = printf_ulong::putc#4 
Alias printf_ulong::format_min_length#2 = printf_ulong::format_min_length#4 
Alias printf_ulong::format_justify_left#2 = printf_ulong::format_justify_left#4 
Alias printf_ulong::format_sign_always#2 = printf_ulong::format_sign_always#3 
Alias printf_ulong::format_zero_padding#2 = printf_ulong::format_zero_padding#4 
Alias printf_ulong::format_upper_case#2 = printf_ulong::format_upper_case#4 
Alias printf_uint::uvalue#1 = printf_uint::uvalue#2 
Alias printf_uint::format_radix#1 = printf_uint::format_radix#3 
Alias printf_uint::putc#1 = printf_uint::putc#3 
Alias printf_uint::format_min_length#1 = printf_uint::format_min_length#3 
Alias printf_uint::format_justify_left#1 = printf_uint::format_justify_left#3 
Alias printf_uint::format_sign_always#1 = printf_uint::format_sign_always#2 
Alias printf_uint::format_zero_padding#1 = printf_uint::format_zero_padding#3 
Alias printf_uint::format_upper_case#1 = printf_uint::format_upper_case#3 
Alias printf_uchar::uvalue#2 = printf_uchar::uvalue#3 
Alias printf_uchar::format_radix#2 = printf_uchar::format_radix#4 
Alias printf_uchar::putc#2 = printf_uchar::putc#4 
Alias printf_uchar::format_min_length#2 = printf_uchar::format_min_length#4 
Alias printf_uchar::format_justify_left#2 = printf_uchar::format_justify_left#4 
Alias printf_uchar::format_sign_always#2 = printf_uchar::format_sign_always#3 
Alias printf_uchar::format_zero_padding#2 = printf_uchar::format_zero_padding#4 
Alias printf_uchar::format_upper_case#2 = printf_uchar::format_upper_case#4 
Alias printf_number_buffer::format_min_length#3 = printf_number_buffer::format_min_length#4 
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#6 
Alias printf_number_buffer::format_zero_padding#12 = printf_number_buffer::format_zero_padding#7 
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#13 
Alias printf_number_buffer::putc#14 = printf_number_buffer::putc#15 
Alias printf_number_buffer::format_upper_case#11 = printf_number_buffer::format_upper_case#12 
Alias printf_number_buffer::buffer_digits#16 = printf_number_buffer::buffer_digits#19 
Alias printf_number_buffer::buffer_sign#12 = printf_number_buffer::buffer_sign#4 
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#14 printf_number_buffer::format_zero_padding#19 printf_number_buffer::format_zero_padding#15 printf_number_buffer::format_zero_padding#11 
Alias printf_number_buffer::padding#10 = printf_number_buffer::padding#12 printf_number_buffer::padding#15 printf_number_buffer::padding#13 printf_number_buffer::padding#11 
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#4 printf_number_buffer::putc#17 printf_number_buffer::putc#11 printf_number_buffer::putc#13 
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#6 printf_number_buffer::format_upper_case#4 printf_number_buffer::format_upper_case#3 
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#11 printf_number_buffer::buffer_digits#14 printf_number_buffer::buffer_digits#5 printf_number_buffer::buffer_digits#4 
Alias printf_number_buffer::format_justify_left#11 = printf_number_buffer::format_justify_left#17 printf_number_buffer::format_justify_left#20 printf_number_buffer::format_justify_left#14 printf_number_buffer::format_justify_left#4 
Alias count#10 = count#11 
Alias legal::i#10 = legal::i#13 legal::i#11 
Alias legal::row#1 = legal::row#12 legal::row#10 
Alias legal::column#1 = legal::column#10 legal::column#5 
Alias print::j#2 = print::j#4 
Alias print::i1#10 = print::i1#8 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Alias printf_number_buffer::format_justify_left#10 = printf_number_buffer::format_justify_left#11 
Alias printf_number_buffer::format_zero_padding#10 = printf_number_buffer::format_zero_padding#12 
Alias printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#12 
Alias printf_number_buffer::putc#10 = printf_number_buffer::putc#14 
Alias printf_number_buffer::format_upper_case#10 = printf_number_buffer::format_upper_case#11 
Alias printf_number_buffer::buffer_digits#10 = printf_number_buffer::buffer_digits#16 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Identical Phi Values memcpy::src_end#1 memcpy::src_end#0
Identical Phi Values memcpy::destination#3 memcpy::destination#2
Identical Phi Values memset::end#1 memset::end#0
Identical Phi Values memset::str#5 memset::str#3
Identical Phi Values memset::c#2 memset::c#4
Identical Phi Values strlen::str#4 strlen::str#1
Identical Phi Values toupper::ch#1 toupper::ch#0
Identical Phi Values strupr::src#0 strupr::str#0
Identical Phi Values strupr::str#2 strupr::src#0
Identical Phi Values utoa::radix#1 utoa::radix#0
Identical Phi Values utoa::value#10 utoa::value#1
Identical Phi Values utoa::buffer#10 utoa::buffer#5
Identical Phi Values utoa::max_digits#10 utoa::max_digits#7
Identical Phi Values utoa::digit_values#10 utoa::digit_values#8
Identical Phi Values ultoa::radix#1 ultoa::radix#0
Identical Phi Values ultoa::value#10 ultoa::value#1
Identical Phi Values ultoa::buffer#10 ultoa::buffer#5
Identical Phi Values ultoa::max_digits#10 ultoa::max_digits#7
Identical Phi Values ultoa::digit_values#10 ultoa::digit_values#8
Identical Phi Values uctoa::radix#1 uctoa::radix#0
Identical Phi Values uctoa::value#10 uctoa::value#1
Identical Phi Values uctoa::buffer#10 uctoa::buffer#5
Identical Phi Values uctoa::max_digits#10 uctoa::max_digits#7
Identical Phi Values uctoa::digit_values#10 uctoa::digit_values#8
Identical Phi Values uctoa_append::value#5 uctoa_append::value#0
Identical Phi Values uctoa_append::sub#3 uctoa_append::sub#0
Identical Phi Values uctoa_append::buffer#3 uctoa_append::buffer#0
Identical Phi Values uctoa_append::sub#1 uctoa_append::sub#3
Identical Phi Values uctoa_append::buffer#1 uctoa_append::buffer#3
Identical Phi Values utoa_append::value#5 utoa_append::value#0
Identical Phi Values utoa_append::sub#3 utoa_append::sub#0
Identical Phi Values utoa_append::buffer#3 utoa_append::buffer#0
Identical Phi Values utoa_append::sub#1 utoa_append::sub#3
Identical Phi Values utoa_append::buffer#1 utoa_append::buffer#3
Identical Phi Values ultoa_append::value#5 ultoa_append::value#0
Identical Phi Values ultoa_append::sub#3 ultoa_append::sub#0
Identical Phi Values ultoa_append::buffer#3 ultoa_append::buffer#0
Identical Phi Values ultoa_append::sub#1 ultoa_append::sub#3
Identical Phi Values ultoa_append::buffer#1 ultoa_append::buffer#3
Identical Phi Values clrscr::line_text#2 clrscr::line_text#5
Identical Phi Values clrscr::line_cols#2 clrscr::line_cols#5
Identical Phi Values clrscr::l#3 clrscr::l#2
Identical Phi Values printf_str::putc#10 printf_str::putc#12
Identical Phi Values printf_padding::length#3 printf_padding::length#4
Identical Phi Values printf_padding::pad#3 printf_padding::pad#5
Identical Phi Values printf_padding::putc#3 printf_padding::putc#5
Identical Phi Values printf_uint::format_sign_always#1 printf_uint::format_sign_always#0
Identical Phi Values printf_uint::uvalue#1 printf_uint::uvalue#0
Identical Phi Values printf_uint::format_radix#1 printf_uint::format_radix#0
Identical Phi Values printf_uint::putc#1 printf_uint::putc#0
Identical Phi Values printf_uint::format_min_length#1 printf_uint::format_min_length#0
Identical Phi Values printf_uint::format_justify_left#1 printf_uint::format_justify_left#0
Identical Phi Values printf_uint::format_zero_padding#1 printf_uint::format_zero_padding#0
Identical Phi Values printf_uint::format_upper_case#1 printf_uint::format_upper_case#0
Identical Phi Values count#15 count#21
Identical Phi Values count#0 count#10
Identical Phi Values count#1 count#0
Identical Phi Values count#24 count#15
Identical Phi Values legal::row#3 legal::row#0
Identical Phi Values legal::column#4 legal::column#0
Identical Phi Values legal::row#1 legal::row#3
Identical Phi Values legal::column#1 legal::column#4
Identical Phi Values count#12 count#2
Identical Phi Values print::i1#10 print::i1#2
Identical Phi Values count#13 count#1
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values memset::return#0 memset::str#3
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition memcpy::$1 [7] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
Simple Condition memset::$1 [14] if(memset::num#2<=0) goto memset::@1
Simple Condition memset::$3 [21] if(memset::dst#2!=memset::end#0) goto memset::@4
Simple Condition strlen::$0 [29] if(0!=*strlen::str#2) goto strlen::@2
Simple Condition strupr::$1 [44] if(0!=*strupr::src#2) goto strupr::@2
Simple Condition utoa::$0 [56] if(utoa::radix#0==DECIMAL) goto utoa::@1
Simple Condition utoa::$1 [60] if(utoa::radix#0==HEXADECIMAL) goto utoa::@2
Simple Condition utoa::$2 [64] if(utoa::radix#0==OCTAL) goto utoa::@3
Simple Condition utoa::$3 [68] if(utoa::radix#0==BINARY) goto utoa::@4
Simple Condition utoa::$5 [85] if(utoa::digit#2<utoa::$4) goto utoa::@11
Simple Condition ultoa::$0 [110] if(ultoa::radix#0==DECIMAL) goto ultoa::@1
Simple Condition ultoa::$1 [114] if(ultoa::radix#0==HEXADECIMAL) goto ultoa::@2
Simple Condition ultoa::$2 [118] if(ultoa::radix#0==OCTAL) goto ultoa::@3
Simple Condition ultoa::$3 [122] if(ultoa::radix#0==BINARY) goto ultoa::@4
Simple Condition ultoa::$5 [139] if(ultoa::digit#2<ultoa::$4) goto ultoa::@11
Simple Condition uctoa::$0 [164] if(uctoa::radix#0==DECIMAL) goto uctoa::@1
Simple Condition uctoa::$1 [168] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@2
Simple Condition uctoa::$2 [172] if(uctoa::radix#0==OCTAL) goto uctoa::@3
Simple Condition uctoa::$3 [176] if(uctoa::radix#0==BINARY) goto uctoa::@4
Simple Condition uctoa::$5 [193] if(uctoa::digit#2<uctoa::$4) goto uctoa::@11
Simple Condition uctoa_append::$0 [216] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2
Simple Condition utoa_append::$0 [225] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
Simple Condition ultoa_append::$0 [234] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2
Simple Condition clrscr::$0 [244] if(clrscr::l#2<$19) goto clrscr::@2
Simple Condition clrscr::$1 [252] if(clrscr::c#2<$28) goto clrscr::@5
Simple Condition gotoxy::$1 [262] if(gotoxy::y#4<=$19) goto gotoxy::@1
Simple Condition gotoxy::$3 [265] if(gotoxy::x#4<$28) goto gotoxy::@2
Simple Condition cputc::$0 [280] if(cputc::c#0=='
') goto cputc::@1
Simple Condition cputc::$2 [286] if(conio_cursor_x!=$28) goto cputc::@return
Simple Condition cscroll::$1 [299] if(conio_cursor_y!=$19) goto cscroll::@return
Simple Condition cscroll::$7 [301] if(0!=conio_scroll_enable) goto cscroll::@3
Simple Condition conio_c64_init::$1 [331] if(conio_c64_init::line#0<$19) goto conio_c64_init::@1
Simple Condition printf_str::$2 [344] if(0!=printf_str::c#1) goto printf_str::@2
Simple Condition printf_padding::$0 [353] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2
Simple Condition printf_ulong::$5 [361] if(0!=printf_ulong::format_sign_always#2) goto printf_ulong::@1
Simple Condition printf_uint::$5 [383] if(0!=printf_uint::format_sign_always#0) goto printf_uint::@1
Simple Condition printf_uchar::$5 [405] if(0!=printf_uchar::format_sign_always#2) goto printf_uchar::@1
Simple Condition printf_number_buffer::$0 [428] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1
Simple Condition printf_number_buffer::$20 [442] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13
Simple Condition printf_number_buffer::$23 [447] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@1
Simple Condition printf_number_buffer::$7 [451] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3
Simple Condition printf_number_buffer::$12 [463] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5
Simple Condition main::$6 [523] if(0==main::$5) goto main::@1
Simple Condition queens::$7 [529] if(0!=1) goto queens::@2
Simple Condition queens::$1 [532] if(board[queens::row#10]==(char)8+1) goto queens::@3
Simple Condition queens::$6 [535] if(queens::row#10==1) goto queens::@return
Simple Condition queens::$3 [542] if(0==queens::$2) goto queens::@1
Simple Condition queens::$4 [544] if(queens::row#10==8) goto queens::@4
Simple Condition legal::$1 [555] if(legal::i#10<=legal::$0) goto legal::@2
Simple Condition legal::$2 [557] if(board[legal::i#10]==legal::column#0) goto legal::@4
Simple Condition legal::diff1_$0 [562] if(legal::diff1_a#0<legal::column#0) goto legal::diff1_@1
Simple Condition legal::diff2_$0 [567] if(legal::i#10<legal::row#0) goto legal::diff2_@1
Simple Condition legal::$6 [572] if(legal::diff1_return#2!=legal::diff2_return#2) goto legal::@5
Simple Condition print::$2 [599] if(print::i#2<=8) goto print::@2
Simple Condition print::$4 [613] if(print::i1#2<=8) goto print::@5
Simple Condition print::$6 [629] if(print::j#2<=8) goto print::@7
Simple Condition print::$7 [631] if(board[print::i1#2]==print::j#2) goto print::@9
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting && if()-condition to two if()s [36] toupper::$2 = toupper::$0 && toupper::$1
Rewriting ! if()-condition to reversed if() [90] utoa::$8 = ! utoa::$7
Rewriting || if()-condition to two if()s [89] utoa::$7 = utoa::started#2 || utoa::$6
Rewriting ! if()-condition to reversed if() [144] ultoa::$8 = ! ultoa::$7
Rewriting || if()-condition to two if()s [143] ultoa::$7 = ultoa::started#2 || ultoa::$6
Rewriting ! if()-condition to reversed if() [197] uctoa::$8 = ! uctoa::$7
Rewriting || if()-condition to two if()s [196] uctoa::$7 = uctoa::started#2 || uctoa::$6
Rewriting ! if()-condition to reversed if() [434] printf_number_buffer::$5 = ! printf_number_buffer::$4
Rewriting && if()-condition to two if()s [433] printf_number_buffer::$4 = printf_number_buffer::$3 && printf_number_buffer::padding#10
Rewriting && if()-condition to two if()s [432] printf_number_buffer::$3 = printf_number_buffer::$1 && printf_number_buffer::$2
Rewriting ! if()-condition to reversed if() [457] printf_number_buffer::$10 = ! printf_number_buffer::$9
Rewriting && if()-condition to two if()s [456] printf_number_buffer::$9 = printf_number_buffer::format_zero_padding#10 && printf_number_buffer::padding#10
Rewriting ! if()-condition to reversed if() [474] printf_number_buffer::$17 = ! printf_number_buffer::$16
Rewriting && if()-condition to two if()s [473] printf_number_buffer::$16 = printf_number_buffer::$15 && printf_number_buffer::padding#10
Rewriting && if()-condition to two if()s [472] printf_number_buffer::$15 = printf_number_buffer::format_justify_left#10 && printf_number_buffer::$14
Successful SSA optimization Pass2ConditionalAndOrRewriting
Warning! Adding boolean cast to non-boolean condition utoa::started#2
Warning! Adding boolean cast to non-boolean condition ultoa::started#2
Warning! Adding boolean cast to non-boolean condition uctoa::started#2
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_zero_padding#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::format_justify_left#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padding#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padding#10
Warning! Adding boolean cast to non-boolean condition printf_number_buffer::padding#10
Constant right-side identified [304] memcpy::num#0 = (unumber)$19*$28-$28
Constant right-side identified [309] memcpy::num#1 = (unumber)$19*$28-$28
Constant right-side identified [336] conio_c64_init::line#1 = (unumber)$19-1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant strlen::len#0 = 0
Constant utoa::max_digits#0 = 0
Constant utoa::digit_values#0 = (unsigned int *) 0
Constant utoa::max_digits#1 = 5
Constant utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant utoa::max_digits#2 = 4
Constant utoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES
Constant utoa::max_digits#3 = 6
Constant utoa::digit_values#3 = RADIX_OCTAL_VALUES
Constant utoa::max_digits#4 = $10
Constant utoa::digit_values#4 = RADIX_BINARY_VALUES
Constant utoa::started#0 = 0
Constant utoa::digit#0 = 0
Constant utoa::started#1 = 1
Constant ultoa::max_digits#0 = 0
Constant ultoa::digit_values#0 = (unsigned long *) 0
Constant ultoa::max_digits#1 = $a
Constant ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG
Constant ultoa::max_digits#2 = 8
Constant ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG
Constant ultoa::max_digits#3 = $b
Constant ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG
Constant ultoa::max_digits#4 = $20
Constant ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG
Constant ultoa::started#0 = 0
Constant ultoa::digit#0 = 0
Constant ultoa::started#1 = 1
Constant uctoa::max_digits#0 = 0
Constant uctoa::digit_values#0 = (char *) 0
Constant uctoa::max_digits#1 = 3
Constant uctoa::digit_values#1 = RADIX_DECIMAL_VALUES_CHAR
Constant uctoa::max_digits#2 = 2
Constant uctoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_CHAR
Constant uctoa::max_digits#3 = 3
Constant uctoa::digit_values#3 = RADIX_OCTAL_VALUES_CHAR
Constant uctoa::max_digits#4 = 8
Constant uctoa::digit_values#4 = RADIX_BINARY_VALUES_CHAR
Constant uctoa::started#0 = 0
Constant uctoa::digit#0 = 0
Constant uctoa::started#1 = 1
Constant uctoa_append::digit#0 = 0
Constant utoa_append::digit#0 = 0
Constant ultoa_append::digit#0 = 0
Constant clrscr::line_text#0 = CONIO_SCREEN_TEXT
Constant clrscr::line_cols#0 = CONIO_SCREEN_COLORS
Constant clrscr::l#0 = 0
Constant clrscr::c#0 = 0
Constant gotoxy::y#0 = 0
Constant gotoxy::x#0 = 0
Constant memcpy::destination#0 = (void *)CONIO_SCREEN_TEXT
Constant memcpy::source#0 = (void *)CONIO_SCREEN_TEXT+$28
Constant memcpy::num#0 = (unumber)$19*$28-$28
Constant memcpy::destination#1 = (void *)CONIO_SCREEN_COLORS
Constant memcpy::source#1 = (void *)CONIO_SCREEN_COLORS+$28
Constant memcpy::num#1 = (unumber)$19*$28-$28
Constant memset::str#0 = (void *)CONIO_SCREEN_TEXT+(unsigned int)$19*$28-$28
Constant memset::c#0 = ' '
Constant memset::num#0 = $28
Constant memset::str#1 = (void *)CONIO_SCREEN_COLORS+(unsigned int)$19*$28-$28
Constant memset::num#1 = $28
Constant gotoxy::x#1 = 0
Constant gotoxy::y#1 = 0
Constant gotoxy::x#2 = 0
Constant conio_c64_init::line#1 = (unumber)$19-1
Constant printf_str::c#0 = 0
Constant printf_padding::i#0 = 0
Constant printf_ulong::$1 = '+'
Constant printf_ulong::$0 = 0
Constant ultoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_uint::$1 = '+'
Constant printf_uint::$0 = 0
Constant utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_uchar::$1 = '+'
Constant printf_uchar::$0 = 0
Constant uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::buffer_digits#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_number_buffer::padding#0 = 0
Constant printf_number_buffer::padding#2 = 0
Constant printf_padding::pad#0 = ' '
Constant printf_padding::pad#1 = '0'
Constant printf_padding::pad#2 = ' '
Constant printf_str::putc#1 = &cputc
Constant printf_str::s#2 = main::s
Constant printf_str::putc#2 = &cputc
Constant printf_str::s#3 = main::s1
Constant printf_uint::putc#0 = &cputc
Constant printf_uint::uvalue#0 = 8
Constant printf_uint::format_min_length#0 = 0
Constant printf_uint::format_justify_left#0 = 0
Constant printf_uint::format_sign_always#0 = 0
Constant printf_uint::format_zero_padding#0 = 0
Constant printf_uint::format_upper_case#0 = 0
Constant printf_uint::format_radix#0 = DECIMAL
Constant printf_str::putc#3 = &cputc
Constant printf_str::s#4 = main::s2
Constant printf_ulong::putc#0 = &cputc
Constant printf_ulong::format_min_length#0 = 0
Constant printf_ulong::format_justify_left#0 = 0
Constant printf_ulong::format_sign_always#0 = 0
Constant printf_ulong::format_zero_padding#0 = 0
Constant printf_ulong::format_upper_case#0 = 0
Constant printf_ulong::format_radix#0 = DECIMAL
Constant printf_str::putc#4 = &cputc
Constant printf_str::s#5 = main::s3
Constant queens::row#0 = 1
Constant legal::i#0 = 1
Constant legal::return#1 = 1
Constant legal::return#2 = 0
Constant legal::return#3 = 0
Constant gotoxy::x#3 = 0
Constant gotoxy::y#3 = 5
Constant printf_str::putc#5 = &cputc
Constant printf_str::s#6 = print::s
Constant printf_ulong::putc#1 = &cputc
Constant printf_ulong::format_min_length#1 = 0
Constant printf_ulong::format_justify_left#1 = 0
Constant printf_ulong::format_sign_always#1 = 0
Constant printf_ulong::format_zero_padding#1 = 0
Constant printf_ulong::format_upper_case#1 = 0
Constant printf_ulong::format_radix#1 = DECIMAL
Constant printf_str::putc#6 = &cputc
Constant printf_str::s#7 = print::s1
Constant print::i#0 = 1
Constant printf_uchar::putc#0 = &cputc
Constant printf_uchar::format_min_length#0 = 0
Constant printf_uchar::format_justify_left#0 = 0
Constant printf_uchar::format_sign_always#0 = 0
Constant printf_uchar::format_zero_padding#0 = 0
Constant printf_uchar::format_upper_case#0 = 0
Constant printf_uchar::format_radix#0 = HEXADECIMAL
Constant print::i1#0 = 1
Constant printf_str::putc#7 = &cputc
Constant printf_str::s#8 = print::s2
Constant printf_uchar::putc#1 = &cputc
Constant printf_uchar::format_min_length#1 = 0
Constant printf_uchar::format_justify_left#1 = 0
Constant printf_uchar::format_sign_always#1 = 0
Constant printf_uchar::format_zero_padding#1 = 0
Constant printf_uchar::format_upper_case#1 = 0
Constant printf_uchar::format_radix#1 = HEXADECIMAL
Constant print::j#0 = 1
Constant printf_str::putc#8 = &cputc
Constant printf_str::s#9 = print::s3
Constant printf_str::putc#9 = &cputc
Constant printf_str::s#10 = print::s4
Constant count#21 = 0
Constant conio_textcolor = CONIO_TEXTCOLOR_DEFAULT
Constant conio_scroll_enable = 1
Successful SSA optimization Pass2ConstantIdentification
Constant memset::c#1 = conio_textcolor
Constant utoa::value#1 = printf_uint::uvalue#0
Constant utoa::radix#0 = printf_uint::format_radix#0
Constant printf_number_buffer::putc#1 = printf_uint::putc#0
Constant printf_number_buffer::format_min_length#1 = printf_uint::format_min_length#0
Constant printf_number_buffer::format_justify_left#1 = printf_uint::format_justify_left#0
Constant printf_number_buffer::format_sign_always#1 = printf_uint::format_sign_always#0
Constant printf_number_buffer::format_zero_padding#1 = printf_uint::format_zero_padding#0
Constant printf_number_buffer::format_upper_case#1 = printf_uint::format_upper_case#0
Constant printf_number_buffer::format_radix#1 = printf_uint::format_radix#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always true - replacing block destination [56] if(utoa::radix#0==DECIMAL) goto utoa::@1
if() condition always false - eliminating [60] if(utoa::radix#0==HEXADECIMAL) goto utoa::@2
if() condition always false - eliminating [64] if(utoa::radix#0==OCTAL) goto utoa::@3
if() condition always false - eliminating [68] if(utoa::radix#0==BINARY) goto utoa::@4
if() condition always true - replacing block destination [301] if(0!=conio_scroll_enable) goto cscroll::@3
if() condition always false - eliminating [383] if(0!=printf_uint::format_sign_always#0) goto printf_uint::@1
if() condition always true - replacing block destination [529] if(0!=1) goto queens::@2
Successful SSA optimization Pass2ConstantIfs
Consolidated constant strings into s3
Successful SSA optimization Pass2ConstantStringConsolidation
Rewriting conditional comparison [262] if(gotoxy::y#4<=$19) goto gotoxy::@1
Rewriting conditional comparison [599] if(print::i#2<=8) goto print::@2
Rewriting conditional comparison [613] if(print::i1#2<=8) goto print::@5
Rewriting conditional comparison [629] if(print::j#2<=8) goto print::@7
Simplifying expression containing zero (char *)&printf_buffer in [365] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_ulong::$2
Simplifying expression containing zero (char *)&printf_buffer in [371] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [387] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uint::$2
Simplifying expression containing zero (char *)&printf_buffer in [393] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Simplifying expression containing zero (char *)&printf_buffer in [409] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN) = printf_uchar::$2
Simplifying expression containing zero (char *)&printf_buffer in [415] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN)
Successful SSA optimization PassNSimplifyExpressionWithZero
Eliminating variable utoa::buffer#0 from unused block utoa::@9
Eliminating variable utoa::buffer#1 from unused block utoa::@9
Eliminating variable utoa::buffer#2 from unused block utoa::@9
Removing unused block utoa::@6
Removing PHI-reference to removed block (utoa::@2) in block utoa::@5
Removing PHI-reference to removed block (utoa::@2) in block utoa::@5
Removing unused block utoa::@2
Removing unused block utoa::@7
Removing PHI-reference to removed block (utoa::@3) in block utoa::@5
Removing PHI-reference to removed block (utoa::@3) in block utoa::@5
Removing unused block utoa::@3
Removing unused block utoa::@8
Removing PHI-reference to removed block (utoa::@4) in block utoa::@5
Removing PHI-reference to removed block (utoa::@4) in block utoa::@5
Removing unused block utoa::@4
Removing unused block utoa::@9
Removing PHI-reference to removed block (cscroll::@2) in block gotoxy
Removing PHI-reference to removed block (cscroll::@2) in block gotoxy
Removing unused block cscroll::@2
Removing unused block cscroll::@8
Removing PHI-reference to removed block (printf_uint::@1) in block printf_uint::@3
Removing unused block printf_uint::@1
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused variable memcpy::return#2 and assignment [197] memcpy::return#2 = memcpy::destination#2
Eliminating unused variable memcpy::return#3 and assignment [199] memcpy::return#3 = memcpy::destination#2
Eliminating unused variable memset::return#2 and assignment [201] memset::return#2 = memset::str#3
Eliminating unused variable memset::return#3 and assignment [203] memset::return#3 = memset::str#3
Eliminating unused variable printf_number_buffer::format_sign_always#0 and assignment [242] printf_number_buffer::format_sign_always#0 = printf_ulong::format_sign_always#2
Eliminating unused variable printf_number_buffer::format_radix#0 and assignment [245] printf_number_buffer::format_radix#0 = printf_ulong::format_radix#2
Eliminating unused variable printf_number_buffer::format_sign_always#2 and assignment [265] printf_number_buffer::format_sign_always#2 = printf_uchar::format_sign_always#2
Eliminating unused variable printf_number_buffer::format_radix#2 and assignment [268] printf_number_buffer::format_radix#2 = printf_uchar::format_radix#2
Eliminating unused variable strupr::return#2 and assignment [309] strupr::return#2 = strupr::str#0
Eliminating unused constant utoa::max_digits#0
Eliminating unused constant utoa::digit_values#0
Eliminating unused constant utoa::max_digits#2
Eliminating unused constant utoa::digit_values#2
Eliminating unused constant utoa::max_digits#3
Eliminating unused constant utoa::digit_values#3
Eliminating unused constant utoa::max_digits#4
Eliminating unused constant utoa::digit_values#4
Eliminating unused constant utoa::radix#0
Eliminating unused constant ultoa::max_digits#0
Eliminating unused constant ultoa::digit_values#0
Eliminating unused constant uctoa::max_digits#0
Eliminating unused constant uctoa::digit_values#0
Eliminating unused constant gotoxy::x#1
Eliminating unused constant gotoxy::y#1
Eliminating unused constant printf_str::c#0
Eliminating unused constant printf_uint::$1
Eliminating unused constant printf_number_buffer::format_sign_always#1
Eliminating unused constant printf_number_buffer::format_radix#1
Eliminating unused constant OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_SIGN
Eliminating unused constant conio_scroll_enable
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused constant RADIX_BINARY_VALUES
Eliminating unused constant RADIX_OCTAL_VALUES
Eliminating unused constant RADIX_HEXADECIMAL_VALUES
Eliminating unused constant printf_uint::format_sign_always#0
Eliminating unused constant printf_uint::format_radix#0
Successful SSA optimization PassNEliminateUnusedVars
Adding number conversion cast (unumber) 0 in utoa::$12 = 0 != utoa::started#2
Adding number conversion cast (unumber) 0 in ultoa::$12 = 0 != ultoa::started#2
Adding number conversion cast (unumber) 0 in uctoa::$11 = 0 != uctoa::started#2
Adding number conversion cast (unumber) $19+1 in if(gotoxy::y#4<$19+1) goto gotoxy::@1
Adding number conversion cast (unumber) 1 in if(gotoxy::y#4<(unumber)$19+1) goto gotoxy::@1
Adding number conversion cast (unumber) 0 in printf_number_buffer::$33 = 0 != printf_number_buffer::format_zero_padding#10
Adding number conversion cast (unumber) 0 in printf_number_buffer::$34 = 0 != printf_number_buffer::format_justify_left#10
Adding number conversion cast (unumber) 8+1 in if(print::i#2<8+1) goto print::@2
Adding number conversion cast (unumber) 1 in if(print::i#2<(unumber)8+1) goto print::@2
Adding number conversion cast (unumber) 8+1 in if(print::i1#2<8+1) goto print::@5
Adding number conversion cast (unumber) 1 in if(print::i1#2<(unumber)8+1) goto print::@5
Adding number conversion cast (unumber) 8+1 in if(print::j#2<8+1) goto print::@7
Adding number conversion cast (unumber) 1 in if(print::j#2<(unumber)8+1) goto print::@7
Adding number conversion cast (snumber) 0 in printf_number_buffer::$35 = 0 != printf_number_buffer::padding#10
Adding number conversion cast (snumber) 0 in printf_number_buffer::$36 = 0 != printf_number_buffer::padding#10
Adding number conversion cast (snumber) 0 in printf_number_buffer::$37 = 0 != printf_number_buffer::padding#10
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast $19+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 8+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 8+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 8+(unumber)1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Identical Phi Values utoa::max_digits#7 utoa::max_digits#1
Identical Phi Values utoa::digit_values#8 utoa::digit_values#1
Identical Phi Values printf_uint::$2 printf_uint::$0
Successful SSA optimization Pass2IdenticalPhiElimination
Simple Condition toupper::$0 [28] if(toupper::ch#0>='a') goto toupper::@3
Simple Condition utoa::$12 [50] if(0!=utoa::started#2) goto utoa::@14
Simple Condition ultoa::$12 [84] if(0!=ultoa::started#2) goto ultoa::@14
Simple Condition uctoa::$11 [117] if(0!=uctoa::started#2) goto uctoa::@14
Simple Condition printf_number_buffer::$1 [268] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@22
Simple Condition printf_number_buffer::$33 [285] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@23
Simple Condition printf_number_buffer::$34 [298] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@25
Simple Condition toupper::$1 [383] if(toupper::ch#0<='z') goto toupper::@1
Simple Condition utoa::$6 [384] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@14
Simple Condition ultoa::$6 [385] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@14
Simple Condition uctoa::$6 [386] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@14
Simple Condition printf_number_buffer::$35 [388] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
Simple Condition printf_number_buffer::$2 [389] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@21
Simple Condition printf_number_buffer::$36 [391] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
Simple Condition printf_number_buffer::$37 [393] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
Simple Condition printf_number_buffer::$14 [394] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@24
Successful SSA optimization Pass2ConditionalJumpSimplification
Negating conditional jump and destination [28] if(toupper::ch#0<'a') goto toupper::@2
Negating conditional jump and destination [268] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2
Negating conditional jump and destination [285] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4
Negating conditional jump and destination [298] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return
Negating conditional jump and destination [389] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2
Negating conditional jump and destination [394] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return
Successful SSA optimization Pass2ConditionalJumpSequenceImprovement
Constant right-side identified [44] utoa::$4 = utoa::max_digits#1 - 1
Constant right-side identified [69] ultoa::buffer#0 = ++ ultoa::buffer#5
Constant right-side identified [103] uctoa::buffer#0 = ++ uctoa::buffer#5
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant utoa::$4 = utoa::max_digits#1-1
Constant ultoa::buffer#0 = ++ultoa::buffer#5
Constant uctoa::buffer#0 = ++uctoa::buffer#5
Successful SSA optimization Pass2ConstantIdentification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Constant right-side identified [64] ultoa::buffer#1 = ++ ultoa::buffer#0
Constant right-side identified [95] uctoa::buffer#1 = ++ uctoa::buffer#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant ultoa::buffer#1 = ++ultoa::buffer#0
Constant uctoa::buffer#1 = ++uctoa::buffer#0
Successful SSA optimization Pass2ConstantIdentification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Constant right-side identified [65] ultoa::buffer#2 = ++ ultoa::buffer#1
Constant right-side identified [95] uctoa::buffer#2 = ++ uctoa::buffer#1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant ultoa::buffer#2 = ++ultoa::buffer#1
Constant uctoa::buffer#2 = ++uctoa::buffer#1
Successful SSA optimization Pass2ConstantIdentification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Inlining Noop Cast [1] memcpy::src#0 = (char *)memcpy::source#2 keeping memcpy::source#2
Inlining Noop Cast [2] memcpy::dst#0 = (char *)memcpy::destination#2 keeping memcpy::destination#2
Inlining Noop Cast [3] memcpy::$2 = (char *)memcpy::source#2 keeping memcpy::source#2
Inlining Noop Cast [13] memset::$4 = (char *)memset::str#3 keeping memset::str#3
Inlining Noop Cast [15] memset::dst#0 = (char *)memset::str#3 keeping memset::str#3
Inlining Noop Cast [257] printf_number_buffer::$25 = (signed char)printf_number_buffer::format_min_length#3 keeping printf_number_buffer::format_min_length#3
Successful SSA optimization Pass2NopCastInlining
Rewriting multiplication to use shift [42] utoa::$10 = utoa::digit#2 * SIZEOF_UNSIGNED_INT
Rewriting multiplication to use shift [71] ultoa::$10 = ultoa::digit#2 * SIZEOF_UNSIGNED_LONG
Rewriting multiplication to use shift and addition[155] gotoxy::line_offset#0 = gotoxy::$7 * $28
Successful SSA optimization Pass2MultiplyToShiftRewriting
Inlining constant with var siblings memcpy::destination#0
Inlining constant with var siblings memcpy::source#0
Inlining constant with var siblings memcpy::num#0
Inlining constant with var siblings memcpy::destination#1
Inlining constant with var siblings memcpy::source#1
Inlining constant with var siblings memcpy::num#1
Inlining constant with var siblings memset::str#0
Inlining constant with var siblings memset::c#0
Inlining constant with var siblings memset::num#0
Inlining constant with var siblings memset::str#1
Inlining constant with var siblings memset::num#1
Inlining constant with var siblings memset::c#1
Inlining constant with var siblings strlen::len#0
Inlining constant with var siblings utoa::started#0
Inlining constant with var siblings utoa::digit#0
Inlining constant with var siblings utoa::started#1
Inlining constant with var siblings utoa::buffer#5
Inlining constant with var siblings utoa::value#1
Inlining constant with var siblings ultoa::max_digits#1
Inlining constant with var siblings ultoa::digit_values#1
Inlining constant with var siblings ultoa::max_digits#2
Inlining constant with var siblings ultoa::digit_values#2
Inlining constant with var siblings ultoa::max_digits#3
Inlining constant with var siblings ultoa::digit_values#3
Inlining constant with var siblings ultoa::max_digits#4
Inlining constant with var siblings ultoa::digit_values#4
Inlining constant with var siblings ultoa::started#0
Inlining constant with var siblings ultoa::digit#0
Inlining constant with var siblings ultoa::started#1
Inlining constant with var siblings ultoa::buffer#5
Inlining constant with var siblings ultoa::buffer#0
Inlining constant with var siblings ultoa::buffer#1
Inlining constant with var siblings ultoa::buffer#2
Inlining constant with var siblings uctoa::max_digits#1
Inlining constant with var siblings uctoa::digit_values#1
Inlining constant with var siblings uctoa::max_digits#2
Inlining constant with var siblings uctoa::digit_values#2
Inlining constant with var siblings uctoa::max_digits#3
Inlining constant with var siblings uctoa::digit_values#3
Inlining constant with var siblings uctoa::max_digits#4
Inlining constant with var siblings uctoa::digit_values#4
Inlining constant with var siblings uctoa::started#0
Inlining constant with var siblings uctoa::digit#0
Inlining constant with var siblings uctoa::started#1
Inlining constant with var siblings uctoa::buffer#5
Inlining constant with var siblings uctoa::buffer#0
Inlining constant with var siblings uctoa::buffer#1
Inlining constant with var siblings uctoa::buffer#2
Inlining constant with var siblings uctoa_append::digit#0
Inlining constant with var siblings utoa_append::digit#0
Inlining constant with var siblings ultoa_append::digit#0
Inlining constant with var siblings clrscr::line_text#0
Inlining constant with var siblings clrscr::line_cols#0
Inlining constant with var siblings clrscr::l#0
Inlining constant with var siblings clrscr::c#0
Inlining constant with var siblings gotoxy::y#0
Inlining constant with var siblings gotoxy::x#0
Inlining constant with var siblings gotoxy::x#2
Inlining constant with var siblings gotoxy::x#3
Inlining constant with var siblings gotoxy::y#3
Inlining constant with var siblings conio_c64_init::line#1
Inlining constant with var siblings printf_str::putc#1
Inlining constant with var siblings printf_str::s#2
Inlining constant with var siblings printf_str::putc#2
Inlining constant with var siblings printf_str::s#3
Inlining constant with var siblings printf_str::putc#3
Inlining constant with var siblings printf_str::s#4
Inlining constant with var siblings printf_str::putc#4
Inlining constant with var siblings printf_str::s#5
Inlining constant with var siblings printf_str::putc#5
Inlining constant with var siblings printf_str::s#6
Inlining constant with var siblings printf_str::putc#6
Inlining constant with var siblings printf_str::s#7
Inlining constant with var siblings printf_str::putc#7
Inlining constant with var siblings printf_str::s#8
Inlining constant with var siblings printf_str::putc#8
Inlining constant with var siblings printf_str::s#9
Inlining constant with var siblings printf_str::putc#9
Inlining constant with var siblings printf_str::s#10
Inlining constant with var siblings printf_padding::i#0
Inlining constant with var siblings printf_padding::pad#0
Inlining constant with var siblings printf_padding::pad#1
Inlining constant with var siblings printf_padding::pad#2
Inlining constant with var siblings printf_ulong::putc#0
Inlining constant with var siblings printf_ulong::format_min_length#0
Inlining constant with var siblings printf_ulong::format_justify_left#0
Inlining constant with var siblings printf_ulong::format_sign_always#0
Inlining constant with var siblings printf_ulong::format_zero_padding#0
Inlining constant with var siblings printf_ulong::format_upper_case#0
Inlining constant with var siblings printf_ulong::format_radix#0
Inlining constant with var siblings printf_ulong::putc#1
Inlining constant with var siblings printf_ulong::format_min_length#1
Inlining constant with var siblings printf_ulong::format_justify_left#1
Inlining constant with var siblings printf_ulong::format_sign_always#1
Inlining constant with var siblings printf_ulong::format_zero_padding#1
Inlining constant with var siblings printf_ulong::format_upper_case#1
Inlining constant with var siblings printf_ulong::format_radix#1
Inlining constant with var siblings printf_uchar::putc#0
Inlining constant with var siblings printf_uchar::format_min_length#0
Inlining constant with var siblings printf_uchar::format_justify_left#0
Inlining constant with var siblings printf_uchar::format_sign_always#0
Inlining constant with var siblings printf_uchar::format_zero_padding#0
Inlining constant with var siblings printf_uchar::format_upper_case#0
Inlining constant with var siblings printf_uchar::format_radix#0
Inlining constant with var siblings printf_uchar::putc#1
Inlining constant with var siblings printf_uchar::format_min_length#1
Inlining constant with var siblings printf_uchar::format_justify_left#1
Inlining constant with var siblings printf_uchar::format_sign_always#1
Inlining constant with var siblings printf_uchar::format_zero_padding#1
Inlining constant with var siblings printf_uchar::format_upper_case#1
Inlining constant with var siblings printf_uchar::format_radix#1
Inlining constant with var siblings printf_number_buffer::buffer_digits#0
Inlining constant with var siblings printf_number_buffer::buffer_digits#1
Inlining constant with var siblings printf_number_buffer::buffer_digits#2
Inlining constant with var siblings printf_number_buffer::padding#0
Inlining constant with var siblings printf_number_buffer::padding#2
Inlining constant with var siblings printf_number_buffer::putc#1
Inlining constant with var siblings printf_number_buffer::format_min_length#1
Inlining constant with var siblings printf_number_buffer::format_justify_left#1
Inlining constant with var siblings printf_number_buffer::format_zero_padding#1
Inlining constant with var siblings printf_number_buffer::format_upper_case#1
Inlining constant with var siblings queens::row#0
Inlining constant with var siblings legal::i#0
Inlining constant with var siblings legal::return#1
Inlining constant with var siblings legal::return#2
Inlining constant with var siblings legal::return#3
Inlining constant with var siblings print::i#0
Inlining constant with var siblings print::i1#0
Inlining constant with var siblings print::j#0
Inlining constant with var siblings count#21
Constant inlined utoa::digit_values#1 = RADIX_DECIMAL_VALUES
Constant inlined printf_number_buffer::buffer_digits#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::buffer_digits#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::buffer_digits#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::format_justify_left#1 = printf_uint::format_justify_left#0
Constant inlined conio_textcolor = LIGHT_BLUE
Constant inlined clrscr::l#0 = 0
Constant inlined strlen::len#0 = 0
Constant inlined printf_str::s#9 = print::s3
Constant inlined printf_str::s#7 = print::s1
Constant inlined printf_ulong::format_upper_case#0 = 0
Constant inlined printf_str::s#8 = s3
Constant inlined printf_str::s#5 = s3
Constant inlined printf_str::s#6 = print::s
Constant inlined printf_str::s#3 = main::s1
Constant inlined printf_str::s#4 = main::s2
Constant inlined CONIO_SCREEN_TEXT = DEFAULT_SCREEN
Constant inlined printf_str::s#2 = main::s
Constant inlined utoa::$4 = utoa::max_digits#1-1
Constant inlined printf_ulong::format_min_length#1 = 0
Constant inlined printf_ulong::format_upper_case#1 = 0
Constant inlined printf_ulong::format_min_length#0 = 0
Constant inlined uctoa::digit#0 = 0
Constant inlined clrscr::line_text#0 = DEFAULT_SCREEN
Constant inlined memcpy::source#0 = (void *)DEFAULT_SCREEN+$28
Constant inlined ultoa::buffer#2 = ++++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined ultoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_str::s#10 = print::s4
Constant inlined ultoa::buffer#1 = ++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_uchar::format_sign_always#1 = 0
Constant inlined legal::return#2 = 0
Constant inlined ultoa::digit#0 = 0
Constant inlined legal::return#3 = 0
Constant inlined printf_uchar::format_sign_always#0 = 0
Constant inlined memset::c#0 = ' '
Constant inlined printf_uchar::format_min_length#1 = 0
Constant inlined legal::return#1 = 1
Constant inlined memset::c#1 = LIGHT_BLUE
Constant inlined printf_uchar::format_min_length#0 = 0
Constant inlined printf_uchar::format_upper_case#1 = 0
Constant inlined printf_uchar::format_upper_case#0 = 0
Constant inlined utoa_append::digit#0 = 0
Constant inlined uctoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_CHAR
Constant inlined uctoa::digit_values#1 = RADIX_DECIMAL_VALUES_CHAR
Constant inlined uctoa::digit_values#4 = RADIX_BINARY_VALUES_CHAR
Constant inlined printf_ulong::format_radix#0 = DECIMAL
Constant inlined uctoa::digit_values#3 = RADIX_OCTAL_VALUES_CHAR
Constant inlined printf_ulong::format_radix#1 = DECIMAL
Constant inlined printf_uchar::$0 = 0
Constant inlined printf_uchar::$1 = '+'
Constant inlined memcpy::destination#0 = (void *)DEFAULT_SCREEN
Constant inlined memcpy::destination#1 = (void *)COLORRAM
Constant inlined uctoa::max_digits#1 = 3
Constant inlined legal::i#0 = 1
Constant inlined utoa::digit#0 = 0
Constant inlined ultoa::max_digits#3 = $b
Constant inlined ultoa::max_digits#4 = $20
Constant inlined print::s2 = s3
Constant inlined uctoa::max_digits#3 = 3
Constant inlined printf_number_buffer::format_min_length#1 = printf_uint::format_min_length#0
Constant inlined uctoa::max_digits#2 = 2
Constant inlined CONIO_TEXTCOLOR_DEFAULT = LIGHT_BLUE
Constant inlined uctoa::max_digits#4 = 8
Constant inlined uctoa::buffer#1 = ++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined uctoa::buffer#2 = ++++++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_padding::pad#0 = ' '
Constant inlined printf_padding::i#0 = 0
Constant inlined printf_padding::pad#1 = '0'
Constant inlined printf_uchar::format_zero_padding#1 = 0
Constant inlined uctoa::buffer#0 = ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_padding::pad#2 = ' '
Constant inlined printf_uchar::format_zero_padding#0 = 0
Constant inlined printf_ulong::$1 = '+'
Constant inlined printf_number_buffer::putc#1 = printf_uint::putc#0
Constant inlined printf_ulong::$0 = 0
Constant inlined ultoa::max_digits#1 = $a
Constant inlined utoa::started#1 = 1
Constant inlined ultoa::max_digits#2 = 8
Constant inlined utoa::started#0 = 0
Constant inlined uctoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined gotoxy::y#3 = 5
Constant inlined gotoxy::y#0 = 0
Constant inlined ultoa::digit_values#2 = RADIX_HEXADECIMAL_VALUES_LONG
Constant inlined ultoa::digit_values#3 = RADIX_OCTAL_VALUES_LONG
Constant inlined ultoa_append::digit#0 = 0
Constant inlined ultoa::digit_values#1 = RADIX_DECIMAL_VALUES_LONG
Constant inlined ultoa::digit_values#4 = RADIX_BINARY_VALUES_LONG
Constant inlined utoa::value#1 = printf_uint::uvalue#0
Constant inlined uctoa_append::digit#0 = 0
Constant inlined printf_uchar::format_justify_left#0 = 0
Constant inlined printf_uchar::format_justify_left#1 = 0
Constant inlined printf_str::putc#1 = &cputc
Constant inlined memset::num#1 = $28
Constant inlined printf_str::putc#2 = &cputc
Constant inlined memset::num#0 = $28
Constant inlined printf_str::putc#3 = &cputc
Constant inlined printf_ulong::format_justify_left#1 = 0
Constant inlined printf_ulong::format_justify_left#0 = 0
Constant inlined printf_str::putc#8 = &cputc
Constant inlined printf_str::putc#9 = &cputc
Constant inlined printf_str::putc#4 = &cputc
Constant inlined printf_str::putc#5 = &cputc
Constant inlined printf_str::putc#6 = &cputc
Constant inlined printf_str::putc#7 = &cputc
Constant inlined printf_number_buffer::padding#2 = 0
Constant inlined print::j#0 = 1
Constant inlined ultoa::started#1 = 1
Constant inlined gotoxy::x#3 = 0
Constant inlined printf_ulong::format_zero_padding#0 = 0
Constant inlined printf_ulong::format_zero_padding#1 = 0
Constant inlined utoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined gotoxy::x#0 = 0
Constant inlined printf_ulong::putc#0 = &cputc
Constant inlined gotoxy::x#2 = 0
Constant inlined printf_ulong::putc#1 = &cputc
Constant inlined queens::row#0 = 1
Constant inlined printf_number_buffer::padding#0 = 0
Constant inlined print::i1#0 = 1
Constant inlined uctoa::started#0 = 0
Constant inlined uctoa::started#1 = 1
Constant inlined conio_c64_init::line#1 = (char)$19-1
Constant inlined memcpy::source#1 = (void *)COLORRAM+$28
Constant inlined ultoa::buffer#5 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::format_upper_case#1 = printf_uint::format_upper_case#0
Constant inlined ultoa::started#0 = 0
Constant inlined printf_ulong::format_sign_always#1 = 0
Constant inlined printf_uchar::putc#1 = &cputc
Constant inlined printf_ulong::format_sign_always#0 = 0
Constant inlined printf_uchar::putc#0 = &cputc
Constant inlined memset::str#1 = (void *)COLORRAM+(unsigned int)$19*$28-$28
Constant inlined count#21 = 0
Constant inlined printf_number_buffer::format_zero_padding#1 = printf_uint::format_zero_padding#0
Constant inlined memset::str#0 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28
Constant inlined CONIO_SCREEN_COLORS = COLORRAM
Constant inlined printf_uint::$0 = 0
Constant inlined print::i#0 = 1
Constant inlined main::s3 = s3
Constant inlined memcpy::num#1 = (unsigned int)$19*$28-$28
Constant inlined memcpy::num#0 = (unsigned int)$19*$28-$28
Constant inlined printf_uchar::format_radix#1 = HEXADECIMAL
Constant inlined printf_uchar::format_radix#0 = HEXADECIMAL
Constant inlined clrscr::c#0 = 0
Constant inlined clrscr::line_cols#0 = COLORRAM
Successful SSA optimization Pass2ConstantInlining
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Successful SSA optimization Pass2ConstantSimplification
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1
Simplifying constant integer increment ++(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2
Successful SSA optimization Pass2ConstantSimplification
Adding number conversion cast (unumber) 1 in [63] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'
Adding number conversion cast (unumber) 2 in [64] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'
Adding number conversion cast (unumber) 3 in [65] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0
Adding number conversion cast (unumber) 1 in [92] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+1) = 'r'
Adding number conversion cast (unumber) 2 in [93] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+2) = 'r'
Adding number conversion cast (unumber) 3 in [94] *((char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS+3) = 0
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 1
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Simplifying constant integer cast 1
Simplifying constant integer cast 2
Simplifying constant integer cast 3
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 3
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Alias gotoxy::line_offset#0 = gotoxy::$10 
Successful SSA optimization Pass2AliasElimination
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Identical Phi Values memcpy::num#2 (unsigned int)$19*$28-$28
Identical Phi Values memset::num#2 $28
Identical Phi Values gotoxy::x#4 0
Identical Phi Values printf_ulong::format_sign_always#2 0
Identical Phi Values printf_ulong::format_radix#2 DECIMAL
Identical Phi Values printf_ulong::putc#2 &cputc
Identical Phi Values printf_ulong::format_min_length#2 0
Identical Phi Values printf_ulong::format_justify_left#2 0
Identical Phi Values printf_ulong::format_zero_padding#2 0
Identical Phi Values printf_ulong::format_upper_case#2 0
Identical Phi Values printf_uchar::format_sign_always#2 0
Identical Phi Values printf_uchar::format_radix#2 HEXADECIMAL
Identical Phi Values printf_uchar::putc#2 &cputc
Identical Phi Values printf_uchar::format_min_length#2 0
Identical Phi Values printf_uchar::format_justify_left#2 0
Identical Phi Values printf_uchar::format_zero_padding#2 0
Identical Phi Values printf_uchar::format_upper_case#2 0
Identical Phi Values printf_number_buffer::buffer_digits#10 (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values gotoxy::x#5 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant ultoa::radix#0 = DECIMAL
Constant printf_number_buffer::putc#0 = &cputc
Constant printf_number_buffer::format_min_length#0 = 0
Constant printf_number_buffer::format_justify_left#0 = 0
Constant printf_number_buffer::format_zero_padding#0 = 0
Constant printf_number_buffer::format_upper_case#0 = 0
Constant uctoa::radix#0 = HEXADECIMAL
Constant printf_number_buffer::putc#2 = &cputc
Constant printf_number_buffer::format_min_length#2 = 0
Constant printf_number_buffer::format_justify_left#2 = 0
Constant printf_number_buffer::format_zero_padding#2 = 0
Constant printf_number_buffer::format_upper_case#2 = 0
Constant strlen::str#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant printf_str::s#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant strupr::str#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [9] if($28<=0) goto memset::@1
if() condition always true - replacing block destination [53] if(ultoa::radix#0==DECIMAL) goto ultoa::@1
if() condition always false - eliminating [54] if(ultoa::radix#0==HEXADECIMAL) goto ultoa::@2
if() condition always false - eliminating [55] if(ultoa::radix#0==OCTAL) goto ultoa::@3
if() condition always false - eliminating [56] if(ultoa::radix#0==BINARY) goto ultoa::@4
if() condition always false - eliminating [82] if(uctoa::radix#0==DECIMAL) goto uctoa::@1
if() condition always true - replacing block destination [83] if(uctoa::radix#0==HEXADECIMAL) goto uctoa::@2
if() condition always false - eliminating [84] if(uctoa::radix#0==OCTAL) goto uctoa::@3
if() condition always false - eliminating [85] if(uctoa::radix#0==BINARY) goto uctoa::@4
if() condition always true - replacing block destination [145] if(0<$28) goto gotoxy::@2
if() condition always false - eliminating [209] if(0!=0) goto printf_ulong::@1
if() condition always false - eliminating [229] if(0!=0) goto printf_uchar::@1
Successful SSA optimization Pass2ConstantIfs
Removing unused block ultoa::@6
Removing PHI-reference to removed block (ultoa::@2) in block ultoa::@5
Removing PHI-reference to removed block (ultoa::@2) in block ultoa::@5
Removing unused block ultoa::@2
Removing unused block ultoa::@7
Removing PHI-reference to removed block (ultoa::@3) in block ultoa::@5
Removing PHI-reference to removed block (ultoa::@3) in block ultoa::@5
Removing unused block ultoa::@3
Removing unused block ultoa::@8
Removing PHI-reference to removed block (ultoa::@4) in block ultoa::@5
Removing PHI-reference to removed block (ultoa::@4) in block ultoa::@5
Removing unused block ultoa::@4
Removing unused block ultoa::@9
Removing PHI-reference to removed block (uctoa::@1) in block uctoa::@5
Removing PHI-reference to removed block (uctoa::@1) in block uctoa::@5
Removing unused block uctoa::@1
Removing unused block uctoa::@7
Removing PHI-reference to removed block (uctoa::@3) in block uctoa::@5
Removing PHI-reference to removed block (uctoa::@3) in block uctoa::@5
Removing unused block uctoa::@3
Removing unused block uctoa::@8
Removing PHI-reference to removed block (uctoa::@4) in block uctoa::@5
Removing PHI-reference to removed block (uctoa::@4) in block uctoa::@5
Removing unused block uctoa::@4
Removing unused block uctoa::@9
Removing unused block gotoxy::@4
Removing PHI-reference to removed block (printf_ulong::@1) in block printf_ulong::@3
Removing unused block printf_ulong::@1
Removing PHI-reference to removed block (printf_uchar::@1) in block printf_uchar::@3
Removing unused block printf_uchar::@1
Successful SSA optimization Pass2EliminateUnusedBlocks
Eliminating unused constant BINARY
Eliminating unused constant OCTAL
Eliminating unused constant ultoa::radix#0
Eliminating unused constant RADIX_BINARY_VALUES_CHAR
Eliminating unused constant RADIX_OCTAL_VALUES_CHAR
Eliminating unused constant RADIX_DECIMAL_VALUES_CHAR
Eliminating unused constant uctoa::radix#0
Eliminating unused constant RADIX_BINARY_VALUES_LONG
Eliminating unused constant RADIX_OCTAL_VALUES_LONG
Eliminating unused constant RADIX_HEXADECIMAL_VALUES_LONG
Eliminating unused constant SIZEOF_UNSIGNED_INT
Eliminating unused constant SIZEOF_UNSIGNED_LONG
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused constant DECIMAL
Eliminating unused constant HEXADECIMAL
Successful SSA optimization PassNEliminateUnusedVars
Inlining constant with var siblings strlen::str#1
Inlining constant with var siblings printf_str::s#1
Inlining constant with var siblings printf_number_buffer::putc#0
Inlining constant with var siblings printf_number_buffer::format_min_length#0
Inlining constant with var siblings printf_number_buffer::format_justify_left#0
Inlining constant with var siblings printf_number_buffer::format_zero_padding#0
Inlining constant with var siblings printf_number_buffer::format_upper_case#0
Inlining constant with var siblings printf_number_buffer::putc#2
Inlining constant with var siblings printf_number_buffer::format_min_length#2
Inlining constant with var siblings printf_number_buffer::format_justify_left#2
Inlining constant with var siblings printf_number_buffer::format_zero_padding#2
Inlining constant with var siblings printf_number_buffer::format_upper_case#2
Constant inlined printf_number_buffer::format_justify_left#0 = 0
Constant inlined printf_number_buffer::format_zero_padding#2 = 0
Constant inlined printf_number_buffer::format_justify_left#2 = 0
Constant inlined strlen::str#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::putc#2 = &cputc
Constant inlined printf_number_buffer::putc#0 = &cputc
Constant inlined printf_number_buffer::format_upper_case#2 = 0
Constant inlined printf_number_buffer::format_upper_case#0 = 0
Constant inlined printf_str::s#1 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
Constant inlined printf_number_buffer::format_min_length#0 = 0
Constant inlined printf_number_buffer::format_zero_padding#0 = 0
Constant inlined printf_number_buffer::format_min_length#2 = 0
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Identical Phi Values ultoa::max_digits#7 $a
Identical Phi Values ultoa::digit_values#8 RADIX_DECIMAL_VALUES_LONG
Identical Phi Values uctoa::max_digits#7 2
Identical Phi Values uctoa::digit_values#8 RADIX_HEXADECIMAL_VALUES_CHAR
Identical Phi Values printf_ulong::$2 0
Identical Phi Values printf_uchar::$2 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant right-side identified [55] ultoa::$4 = $a - 1
Constant right-side identified [76] uctoa::$4 = 2 - 1
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant ultoa::$4 = $a-1
Constant uctoa::$4 = 2-1
Successful SSA optimization Pass2ConstantIdentification
Constant inlined uctoa::$4 = 2-1
Constant inlined ultoa::$4 = $a-1
Successful SSA optimization Pass2ConstantInlining
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $b
Finalized unsigned number type (char) $14
Finalized unsigned number type (char) $14
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) $28
Finalized unsigned number type (char) $19
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) 1
Successful SSA optimization PassNFinalizeNumberTypeConversions
Simplifying constant integer cast $19-1
Simplifying constant integer cast 8+1
Successful SSA optimization PassNCastSimplification
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Alias candidate removed (volatile)conio_line_text = gotoxy::$5 
Alias candidate removed (volatile)conio_line_color = gotoxy::$6 
Added new block during phi lifting utoa::@17(between utoa::@16 and utoa::@13)
Added new block during phi lifting ultoa::@17(between ultoa::@16 and ultoa::@13)
Added new block during phi lifting uctoa::@17(between uctoa::@16 and uctoa::@13)
Added new block during phi lifting gotoxy::@5(between gotoxy and gotoxy::@1)
Added new block during phi lifting conio_c64_init::@4(between conio_c64_init and conio_c64_init::@1)
Added new block during phi lifting printf_number_buffer::@26(between printf_number_buffer::@13 and printf_number_buffer::@1)
Added new block during phi lifting printf_number_buffer::@27(between printf_number_buffer::@15 and printf_number_buffer::@13)
Added new block during phi lifting queens::@11(between queens::@9 and queens::@1)
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@2
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of __start::@3
Adding NOP phi() at start of conio_c64_init::@2
Adding NOP phi() at start of conio_c64_init::@3
Adding NOP phi() at start of cputc::@3
Adding NOP phi() at start of cputc::@5
Adding NOP phi() at start of cputc::@1
Adding NOP phi() at start of cputc::@4
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@6
Adding NOP phi() at start of main::@8
Adding NOP phi() at start of main::@9
Adding NOP phi() at start of main::@1
Adding NOP phi() at start of gotoxy::@3
Adding NOP phi() at start of cputln::@1
Adding NOP phi() at start of clrscr
Adding NOP phi() at start of clrscr::@2
Adding NOP phi() at start of printf_uint
Adding NOP phi() at start of printf_uint::@2
Adding NOP phi() at start of printf_uint::@5
Adding NOP phi() at start of queens
Adding NOP phi() at start of printf_ulong::@2
Adding NOP phi() at start of printf_ulong::@5
Adding NOP phi() at start of cscroll::@1
Adding NOP phi() at start of cscroll::@3
Adding NOP phi() at start of cscroll::@4
Adding NOP phi() at start of cscroll::@5
Adding NOP phi() at start of cscroll::@6
Adding NOP phi() at start of utoa
Adding NOP phi() at start of utoa::@1
Adding NOP phi() at start of utoa::@5
Adding NOP phi() at start of printf_number_buffer::@6
Adding NOP phi() at start of printf_number_buffer::@14
Adding NOP phi() at start of printf_number_buffer::@11
Adding NOP phi() at start of printf_number_buffer::@19
Adding NOP phi() at start of printf_number_buffer::@20
Adding NOP phi() at start of printf_number_buffer::@17
Adding NOP phi() at start of printf_number_buffer::@16
Adding NOP phi() at start of legal
Adding NOP phi() at start of legal::@3
Adding NOP phi() at start of legal::@8
Adding NOP phi() at start of legal::@7
Adding NOP phi() at start of legal::@4
Adding NOP phi() at start of print
Adding NOP phi() at start of print::@12
Adding NOP phi() at start of print::@14
Adding NOP phi() at start of print::@15
Adding NOP phi() at start of print::@3
Adding NOP phi() at start of print::@5
Adding NOP phi() at start of print::@18
Adding NOP phi() at start of print::@11
Adding NOP phi() at start of print::@20
Adding NOP phi() at start of print::@9
Adding NOP phi() at start of print::@19
Adding NOP phi() at start of ultoa
Adding NOP phi() at start of ultoa::@1
Adding NOP phi() at start of memcpy::@3
Adding NOP phi() at start of memset::@1
Adding NOP phi() at start of strlen
Adding NOP phi() at start of strlen::@3
Adding NOP phi() at start of strupr
Adding NOP phi() at start of strupr::@3
Adding NOP phi() at start of printf_uchar::@2
Adding NOP phi() at start of printf_uchar::@5
Adding NOP phi() at start of uctoa
Adding NOP phi() at start of uctoa::@6
Adding NOP phi() at start of uctoa::@2
CALL GRAPH
Calls in [__start] to conio_c64_init:5 main:8 
Calls in [conio_c64_init] to gotoxy:17 
Calls in [cputc] to cputln:28 cputln:32 
Calls in [main] to clrscr:35 printf_str:37 printf_str:39 printf_uint:41 queens:43 printf_str:45 printf_ulong:48 printf_str:50 kbhit:53 
Calls in [cputln] to cscroll:78 
Calls in [printf_str] to null:110 
Calls in [printf_uint] to utoa:116 printf_number_buffer:119 
Calls in [queens] to legal:128 print:137 
Calls in [printf_ulong] to ultoa:152 printf_number_buffer:155 
Calls in [cscroll] to memcpy:164 memcpy:166 memset:168 memset:170 
Calls in [utoa] to utoa_append:201 
Calls in [printf_number_buffer] to strlen:210 null:227 strupr:233 printf_str:237 printf_padding:246 printf_padding:252 printf_padding:258 
Calls in [print] to gotoxy:290 printf_str:292 printf_ulong:295 printf_str:297 printf_str:306 printf_uchar:309 printf_str:317 printf_str:322 printf_uchar:326 
Calls in [ultoa] to ultoa_append:355 
Calls in [strupr] to toupper:408 
Calls in [printf_padding] to null:419 
Calls in [printf_uchar] to uctoa:427 printf_number_buffer:430 
Calls in [uctoa] to uctoa_append:474 

Created 71 initial phi equivalence classes
Coalesced [16] gotoxy::y#8 = gotoxy::y#2
Coalesced [20] conio_c64_init::line#3 = conio_c64_init::line#0
Coalesced [47] printf_ulong::uvalue#6 = printf_ulong::uvalue#0
Coalesced [73] gotoxy::y#9 = gotoxy::y#4
Coalesced [95] clrscr::l#7 = clrscr::l#1
Coalesced [96] clrscr::line_text#7 = clrscr::line_text#1
Coalesced [97] clrscr::line_cols#7 = clrscr::line_cols#1
Coalesced [101] clrscr::c#4 = clrscr::c#1
Coalesced [103] printf_str::s#14 = printf_str::s#12
Coalesced [112] printf_str::s#15 = printf_str::s#0
Coalesced [118] printf_number_buffer::buffer_sign#15 = printf_number_buffer::buffer_sign#1
Coalesced [134] queens::row#14 = queens::row#1
Coalesced (already) [135] count#39 = count#10
Coalesced (already) [138] queens::row#13 = queens::row#10
Coalesced [139] count#38 = count#2
Coalesced (already) [140] queens::row#16 = queens::row#10
Coalesced (already) [141] count#41 = count#10
Coalesced [145] queens::row#15 = queens::row#2
Coalesced (already) [146] count#40 = count#10
Coalesced [154] printf_number_buffer::buffer_sign#16 = printf_number_buffer::buffer_sign#0
Coalesced [189] utoa::value#17 = utoa::value#2
Coalesced [190] utoa::started#6 = utoa::started#2
Coalesced [191] utoa::buffer#23 = utoa::buffer#11
Coalesced [194] utoa::digit#7 = utoa::digit#1
Coalesced (already) [195] utoa::value#16 = utoa::value#6
Coalesced (already) [196] utoa::started#5 = utoa::started#4
Coalesced (already) [197] utoa::buffer#22 = utoa::buffer#14
Coalesced [205] utoa::value#18 = utoa::value#0
Coalesced [206] utoa::buffer#24 = utoa::buffer#4
Coalesced [216] printf_number_buffer::len#5 = printf_number_buffer::len#1
Coalesced [236] printf_str::putc#13 = printf_str::putc#0
Coalesced [244] printf_padding::length#8 = printf_padding::length#2
Coalesced [245] printf_padding::putc#8 = printf_padding::putc#2
Coalesced [250] printf_padding::length#7 = printf_padding::length#1
Coalesced [251] printf_padding::putc#7 = printf_padding::putc#1
Coalesced [256] printf_padding::length#9 = printf_padding::length#0
Coalesced [257] printf_padding::putc#9 = printf_padding::putc#0
Coalesced [260] printf_number_buffer::padding#17 = printf_number_buffer::padding#1
Coalesced [261] printf_number_buffer::len#4 = printf_number_buffer::len#0
Coalesced [273] legal::diff1_return#6 = legal::diff1_return#1
Coalesced [278] legal::diff2_return#6 = legal::diff2_return#1
Coalesced [283] legal::i#16 = legal::i#1
Coalesced [285] legal::diff2_return#5 = legal::diff2_return#0
Coalesced [287] legal::diff1_return#5 = legal::diff1_return#0
Coalesced [294] printf_ulong::uvalue#7 = printf_ulong::uvalue#1
Coalesced [308] printf_uchar::uvalue#6 = printf_uchar::uvalue#1
Coalesced [314] print::i1#14 = print::i1#1
Coalesced [320] print::j#9 = print::j#1
Coalesced [325] printf_uchar::uvalue#7 = printf_uchar::uvalue#0
Coalesced [328] print::i#5 = print::i#1
Coalesced [331] ultoa::value#17 = ultoa::value#1
Coalesced [343] ultoa::value#18 = ultoa::value#2
Coalesced [344] ultoa::started#6 = ultoa::started#2
Coalesced [345] ultoa::buffer#23 = ultoa::buffer#11
Coalesced [348] ultoa::digit#7 = ultoa::digit#1
Coalesced (already) [349] ultoa::value#16 = ultoa::value#6
Coalesced (already) [350] ultoa::started#5 = ultoa::started#4
Coalesced (already) [351] ultoa::buffer#22 = ultoa::buffer#14
Coalesced [359] ultoa::value#19 = ultoa::value#0
Coalesced [360] ultoa::buffer#24 = ultoa::buffer#4
Coalesced [372] memcpy::src#5 = memcpy::src#1
Coalesced [373] memcpy::dst#5 = memcpy::dst#1
Coalesced [383] memset::dst#5 = memset::dst#1
Coalesced [384] utoa_append::value#6 = utoa_append::value#0
Coalesced [391] utoa_append::value#7 = utoa_append::value#1
Coalesced [392] utoa_append::digit#5 = utoa_append::digit#1
Coalesced [400] strlen::str#5 = strlen::str#0
Coalesced [401] strlen::len#5 = strlen::len#1
Coalesced [413] strupr::src#5 = strupr::src#1
Coalesced [422] printf_padding::i#5 = printf_padding::i#1
Coalesced [429] printf_number_buffer::buffer_sign#14 = printf_number_buffer::buffer_sign#2
Coalesced [433] ultoa_append::value#6 = ultoa_append::value#0
Coalesced [440] ultoa_append::value#7 = ultoa_append::value#1
Coalesced [441] ultoa_append::digit#5 = ultoa_append::digit#1
Coalesced [444] toupper::return#7 = toupper::ch#0
Coalesced [448] toupper::return#6 = toupper::return#0
Coalesced [452] uctoa::value#17 = uctoa::value#1
Coalesced [462] uctoa::value#18 = uctoa::value#2
Coalesced [463] uctoa::started#6 = uctoa::started#2
Coalesced [464] uctoa::buffer#23 = uctoa::buffer#11
Coalesced [467] uctoa::digit#7 = uctoa::digit#1
Coalesced (already) [468] uctoa::value#16 = uctoa::value#6
Coalesced (already) [469] uctoa::started#5 = uctoa::started#4
Coalesced (already) [470] uctoa::buffer#22 = uctoa::buffer#14
Coalesced [478] uctoa::value#19 = uctoa::value#0
Coalesced [479] uctoa::buffer#24 = uctoa::buffer#4
Coalesced [480] uctoa_append::value#6 = uctoa_append::value#0
Coalesced [487] uctoa_append::value#7 = uctoa_append::value#1
Coalesced [488] uctoa_append::digit#5 = uctoa_append::digit#1
Coalesced down to 60 phi equivalence classes
Culled Empty Block label __start::@2
Culled Empty Block label __start::@3
Culled Empty Block label conio_c64_init::@2
Culled Empty Block label conio_c64_init::@3
Culled Empty Block label cputc::@5
Culled Empty Block label cputc::@4
Culled Empty Block label main::@9
Culled Empty Block label gotoxy::@3
Culled Empty Block label cputln::@1
Culled Empty Block label clrscr::@2
Culled Empty Block label printf_uint::@2
Culled Empty Block label printf_uint::@5
Culled Empty Block label queens::@10
Culled Empty Block label queens::@11
Culled Empty Block label printf_ulong::@2
Culled Empty Block label printf_ulong::@5
Culled Empty Block label cscroll::@1
Culled Empty Block label utoa::@1
Culled Empty Block label utoa::@5
Culled Empty Block label utoa::@17
Culled Empty Block label printf_number_buffer::@14
Culled Empty Block label printf_number_buffer::@19
Culled Empty Block label printf_number_buffer::@20
Culled Empty Block label printf_number_buffer::@17
Culled Empty Block label printf_number_buffer::@16
Culled Empty Block label printf_number_buffer::@27
Culled Empty Block label legal::@3
Culled Empty Block label legal::@8
Culled Empty Block label legal::@7
Culled Empty Block label legal::@4
Culled Empty Block label print::@15
Culled Empty Block label print::@3
Culled Empty Block label print::@18
Culled Empty Block label print::@20
Culled Empty Block label print::@19
Culled Empty Block label ultoa::@1
Culled Empty Block label ultoa::@5
Culled Empty Block label ultoa::@17
Culled Empty Block label memcpy::@3
Culled Empty Block label memset::@1
Culled Empty Block label strlen::@3
Culled Empty Block label strupr::@3
Culled Empty Block label printf_uchar::@2
Culled Empty Block label printf_uchar::@5
Culled Empty Block label toupper::@2
Culled Empty Block label uctoa::@6
Culled Empty Block label uctoa::@2
Culled Empty Block label uctoa::@5
Culled Empty Block label uctoa::@17
Renumbering block memset::@2 to memset::@1
Renumbering block memset::@3 to memset::@2
Renumbering block memset::@4 to memset::@3
Renumbering block toupper::@3 to toupper::@2
Renumbering block strupr::@4 to strupr::@3
Renumbering block utoa::@10 to utoa::@1
Renumbering block utoa::@11 to utoa::@2
Renumbering block utoa::@12 to utoa::@3
Renumbering block utoa::@13 to utoa::@4
Renumbering block utoa::@14 to utoa::@5
Renumbering block utoa::@15 to utoa::@6
Renumbering block utoa::@16 to utoa::@7
Renumbering block ultoa::@10 to ultoa::@1
Renumbering block ultoa::@11 to ultoa::@2
Renumbering block ultoa::@12 to ultoa::@3
Renumbering block ultoa::@13 to ultoa::@4
Renumbering block ultoa::@14 to ultoa::@5
Renumbering block ultoa::@15 to ultoa::@6
Renumbering block ultoa::@16 to ultoa::@7
Renumbering block uctoa::@10 to uctoa::@1
Renumbering block uctoa::@11 to uctoa::@2
Renumbering block uctoa::@12 to uctoa::@3
Renumbering block uctoa::@13 to uctoa::@4
Renumbering block uctoa::@14 to uctoa::@5
Renumbering block uctoa::@15 to uctoa::@6
Renumbering block uctoa::@16 to uctoa::@7
Renumbering block clrscr::@3 to clrscr::@2
Renumbering block clrscr::@4 to clrscr::@3
Renumbering block clrscr::@5 to clrscr::@4
Renumbering block clrscr::@6 to clrscr::@5
Renumbering block gotoxy::@5 to gotoxy::@3
Renumbering block cscroll::@3 to cscroll::@1
Renumbering block cscroll::@4 to cscroll::@2
Renumbering block cscroll::@5 to cscroll::@3
Renumbering block cscroll::@6 to cscroll::@4
Renumbering block cscroll::@7 to cscroll::@5
Renumbering block conio_c64_init::@4 to conio_c64_init::@2
Renumbering block printf_ulong::@3 to printf_ulong::@1
Renumbering block printf_ulong::@4 to printf_ulong::@2
Renumbering block printf_uint::@3 to printf_uint::@1
Renumbering block printf_uint::@4 to printf_uint::@2
Renumbering block printf_uchar::@3 to printf_uchar::@1
Renumbering block printf_uchar::@4 to printf_uchar::@2
Renumbering block printf_number_buffer::@15 to printf_number_buffer::@14
Renumbering block printf_number_buffer::@18 to printf_number_buffer::@15
Renumbering block printf_number_buffer::@21 to printf_number_buffer::@16
Renumbering block printf_number_buffer::@22 to printf_number_buffer::@17
Renumbering block printf_number_buffer::@23 to printf_number_buffer::@18
Renumbering block printf_number_buffer::@24 to printf_number_buffer::@19
Renumbering block printf_number_buffer::@25 to printf_number_buffer::@20
Renumbering block printf_number_buffer::@26 to printf_number_buffer::@21
Renumbering block main::@10 to main::@9
Renumbering block legal::@5 to legal::@3
Renumbering block legal::@6 to legal::@4
Renumbering block legal::@9 to legal::@5
Renumbering block print::@4 to print::@3
Renumbering block print::@5 to print::@4
Renumbering block print::@6 to print::@5
Renumbering block print::@7 to print::@6
Renumbering block print::@8 to print::@7
Renumbering block print::@9 to print::@8
Renumbering block print::@10 to print::@9
Renumbering block print::@11 to print::@10
Renumbering block print::@12 to print::@11
Renumbering block print::@13 to print::@12
Renumbering block print::@14 to print::@13
Renumbering block print::@16 to print::@14
Renumbering block print::@17 to print::@15
Adding NOP phi() at start of __start
Adding NOP phi() at start of __start::@1
Adding NOP phi() at start of conio_c64_init::@2
Adding NOP phi() at start of cputc::@3
Adding NOP phi() at start of cputc::@1
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@2
Adding NOP phi() at start of main::@3
Adding NOP phi() at start of main::@4
Adding NOP phi() at start of main::@5
Adding NOP phi() at start of main::@6
Adding NOP phi() at start of main::@8
Adding NOP phi() at start of main::@1
Adding NOP phi() at start of gotoxy::@3
Adding NOP phi() at start of clrscr
Adding NOP phi() at start of printf_uint
Adding NOP phi() at start of queens
Adding NOP phi() at start of cscroll::@1
Adding NOP phi() at start of cscroll::@2
Adding NOP phi() at start of cscroll::@3
Adding NOP phi() at start of cscroll::@4
Adding NOP phi() at start of utoa
Adding NOP phi() at start of printf_number_buffer::@6
Adding NOP phi() at start of printf_number_buffer::@21
Adding NOP phi() at start of printf_number_buffer::@11
Adding NOP phi() at start of legal
Adding NOP phi() at start of print
Adding NOP phi() at start of print::@11
Adding NOP phi() at start of print::@13
Adding NOP phi() at start of print::@4
Adding NOP phi() at start of print::@10
Adding NOP phi() at start of print::@8
Adding NOP phi() at start of ultoa
Adding NOP phi() at start of utoa_append
Adding NOP phi() at start of strlen
Adding NOP phi() at start of strupr
Adding NOP phi() at start of ultoa_append
Adding NOP phi() at start of uctoa
Adding NOP phi() at start of uctoa_append

FINAL CONTROL FLOW GRAPH

void __start()
__start: scope:[__start]  from
  [0] phi()
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  [1] conio_cursor_x = 0
  [2] conio_cursor_y = 0
  [3] conio_line_text = DEFAULT_SCREEN
  [4] conio_line_color = COLORRAM
  [5] call conio_c64_init
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  [6] phi()
  [7] call main
  to:__start::@return
__start::@return: scope:[__start]  from __start::@1
  [8] return 
  to:@return

void conio_c64_init()
conio_c64_init: scope:[conio_c64_init]  from __start::__init1
  [9] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE
  [10] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2
  to:conio_c64_init::@1
conio_c64_init::@2: scope:[conio_c64_init]  from conio_c64_init
  [11] phi()
  to:conio_c64_init::@1
conio_c64_init::@1: scope:[conio_c64_init]  from conio_c64_init conio_c64_init::@2
  [12] conio_c64_init::line#2 = phi( conio_c64_init::@2/conio_c64_init::line#0, conio_c64_init/$19-1 )
  [13] gotoxy::y#2 = conio_c64_init::line#2
  [14] call gotoxy
  to:conio_c64_init::@return
conio_c64_init::@return: scope:[conio_c64_init]  from conio_c64_init::@1
  [15] return 
  to:@return

__stackcall void cputc(char c)
cputc: scope:[cputc]  from
  [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C)
  [17] if(cputc::c#0=='
') goto cputc::@1
  to:cputc::@2
cputc::@2: scope:[cputc]  from cputc
  [18] conio_line_text[conio_cursor_x] = cputc::c#0
  [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE
  [20] conio_cursor_x = ++ conio_cursor_x
  [21] if(conio_cursor_x!=$28) goto cputc::@return
  to:cputc::@3
cputc::@3: scope:[cputc]  from cputc::@2
  [22] phi()
  [23] call cputln
  to:cputc::@return
cputc::@return: scope:[cputc]  from cputc::@1 cputc::@2 cputc::@3
  [24] return 
  to:@return
cputc::@1: scope:[cputc]  from cputc
  [25] phi()
  [26] call cputln
  to:cputc::@return

void main()
main: scope:[main]  from __start::@1
  [27] phi()
  [28] call clrscr
  to:main::@2
main::@2: scope:[main]  from main
  [29] phi()
  [30] call printf_str
  to:main::@3
main::@3: scope:[main]  from main::@2
  [31] phi()
  [32] call printf_str
  to:main::@4
main::@4: scope:[main]  from main::@3
  [33] phi()
  [34] call printf_uint
  to:main::@5
main::@5: scope:[main]  from main::@4
  [35] phi()
  [36] call queens
  to:main::@6
main::@6: scope:[main]  from main::@5
  [37] phi()
  [38] call printf_str
  to:main::@7
main::@7: scope:[main]  from main::@6
  [39] printf_ulong::uvalue#0 = count#10
  [40] call printf_ulong
  to:main::@8
main::@8: scope:[main]  from main::@7
  [41] phi()
  [42] call printf_str
  to:main::@1
main::@1: scope:[main]  from main::@8 main::@9
  [43] phi()
  [44] call kbhit
  [45] kbhit::return#2 = kbhit::return#0
  to:main::@9
main::@9: scope:[main]  from main::@1
  [46] main::$5 = kbhit::return#2
  [47] if(0==main::$5) goto main::@1
  to:main::@return
main::@return: scope:[main]  from main::@9
  [48] return 
  to:@return

void gotoxy(char x , char y)
gotoxy: scope:[gotoxy]  from conio_c64_init::@1 print
  [49] gotoxy::y#4 = phi( conio_c64_init::@1/gotoxy::y#2, print/5 )
  [50] if(gotoxy::y#4<$19+1) goto gotoxy::@3
  to:gotoxy::@1
gotoxy::@3: scope:[gotoxy]  from gotoxy
  [51] phi()
  to:gotoxy::@1
gotoxy::@1: scope:[gotoxy]  from gotoxy gotoxy::@3
  [52] gotoxy::y#5 = phi( gotoxy::@3/gotoxy::y#4, gotoxy/0 )
  to:gotoxy::@2
gotoxy::@2: scope:[gotoxy]  from gotoxy::@1
  [53] conio_cursor_x = 0
  [54] conio_cursor_y = gotoxy::y#5
  [55] gotoxy::$7 = (unsigned int)gotoxy::y#5
  [56] gotoxy::$8 = gotoxy::$7 << 2
  [57] gotoxy::$9 = gotoxy::$8 + gotoxy::$7
  [58] gotoxy::line_offset#0 = gotoxy::$9 << 3
  [59] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0
  [60] conio_line_text = gotoxy::$5
  [61] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0
  [62] conio_line_color = gotoxy::$6
  to:gotoxy::@return
gotoxy::@return: scope:[gotoxy]  from gotoxy::@2
  [63] return 
  to:@return

void cputln()
cputln: scope:[cputln]  from cputc::@1 cputc::@3
  [64] conio_line_text = conio_line_text + $28
  [65] conio_line_color = conio_line_color + $28
  [66] conio_cursor_x = 0
  [67] conio_cursor_y = ++ conio_cursor_y
  [68] call cscroll
  to:cputln::@return
cputln::@return: scope:[cputln]  from cputln
  [69] return 
  to:@return

void clrscr()
clrscr: scope:[clrscr]  from main
  [70] phi()
  to:clrscr::@1
clrscr::@1: scope:[clrscr]  from clrscr clrscr::@5
  [71] clrscr::line_cols#5 = phi( clrscr/COLORRAM, clrscr::@5/clrscr::line_cols#1 )
  [71] clrscr::line_text#5 = phi( clrscr/DEFAULT_SCREEN, clrscr::@5/clrscr::line_text#1 )
  [71] clrscr::l#2 = phi( clrscr/0, clrscr::@5/clrscr::l#1 )
  [72] if(clrscr::l#2<$19) goto clrscr::@3
  to:clrscr::@2
clrscr::@2: scope:[clrscr]  from clrscr::@1
  [73] conio_cursor_x = 0
  [74] conio_cursor_y = 0
  [75] conio_line_text = DEFAULT_SCREEN
  [76] conio_line_color = COLORRAM
  to:clrscr::@return
clrscr::@return: scope:[clrscr]  from clrscr::@2
  [77] return 
  to:@return
clrscr::@3: scope:[clrscr]  from clrscr::@1 clrscr::@4
  [78] clrscr::c#2 = phi( clrscr::@1/0, clrscr::@4/clrscr::c#1 )
  [79] if(clrscr::c#2<$28) goto clrscr::@4
  to:clrscr::@5
clrscr::@5: scope:[clrscr]  from clrscr::@3
  [80] clrscr::line_text#1 = clrscr::line_text#5 + $28
  [81] clrscr::line_cols#1 = clrscr::line_cols#5 + $28
  [82] clrscr::l#1 = ++ clrscr::l#2
  to:clrscr::@1
clrscr::@4: scope:[clrscr]  from clrscr::@3
  [83] clrscr::line_text#5[clrscr::c#2] = ' '
  [84] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE
  [85] clrscr::c#1 = ++ clrscr::c#2
  to:clrscr::@3

void printf_str(void (*putc)(char) , const char *s)
printf_str: scope:[printf_str]  from main::@2 main::@3 main::@6 main::@8 print::@10 print::@11 print::@13 print::@4 print::@8 printf_number_buffer::@5
  [86] printf_str::putc#12 = phi( main::@2/&cputc, main::@3/&cputc, main::@6/&cputc, main::@8/&cputc, print::@10/&cputc, print::@11/&cputc, print::@13/&cputc, print::@4/&cputc, print::@8/&cputc, printf_number_buffer::@5/printf_str::putc#0 )
  [86] printf_str::s#12 = phi( main::@2/main::s, main::@3/main::s1, main::@6/main::s2, main::@8/s3, print::@10/print::s4, print::@11/print::s, print::@13/print::s1, print::@4/s3, print::@8/print::s3, printf_number_buffer::@5/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  to:printf_str::@1
printf_str::@1: scope:[printf_str]  from printf_str printf_str::@2
  [87] printf_str::s#11 = phi( printf_str/printf_str::s#12, printf_str::@2/printf_str::s#0 )
  [88] printf_str::c#1 = *printf_str::s#11
  [89] printf_str::s#0 = ++ printf_str::s#11
  [90] if(0!=printf_str::c#1) goto printf_str::@2
  to:printf_str::@return
printf_str::@return: scope:[printf_str]  from printf_str::@1
  [91] return 
  to:@return
printf_str::@2: scope:[printf_str]  from printf_str::@1
  [92] stackpush(char) = printf_str::c#1
  [93] callexecute *printf_str::putc#12 
  sideeffect stackpullbytes(1)
  to:printf_str::@1

void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uint: scope:[printf_uint]  from main::@4
  [95] phi()
  to:printf_uint::@1
printf_uint::@1: scope:[printf_uint]  from printf_uint
  [96] *((char *)&printf_buffer) = 0
  [97] call utoa
  to:printf_uint::@2
printf_uint::@2: scope:[printf_uint]  from printf_uint::@1
  [98] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer)
  [99] call printf_number_buffer
  to:printf_uint::@return
printf_uint::@return: scope:[printf_uint]  from printf_uint::@2
  [100] return 
  to:@return

void queens()
queens: scope:[queens]  from main::@5
  [101] phi()
  to:queens::@1
queens::@1: scope:[queens]  from queens queens::@4 queens::@7 queens::@8 queens::@9
  [102] count#10 = phi( queens/0, queens::@4/count#2, queens::@7/count#10, queens::@8/count#10, queens::@9/count#10 )
  [102] queens::row#10 = phi( queens/1, queens::@4/queens::row#10, queens::@7/queens::row#1, queens::@8/queens::row#2, queens::@9/queens::row#10 )
  to:queens::@2
queens::@2: scope:[queens]  from queens::@1
  [103] board[queens::row#10] = ++ board[queens::row#10]
  [104] if(board[queens::row#10]==8+1) goto queens::@3
  to:queens::@5
queens::@5: scope:[queens]  from queens::@2
  [105] legal::row#0 = queens::row#10
  [106] legal::column#0 = board[queens::row#10]
  [107] call legal
  [108] legal::return#0 = legal::return#4
  to:queens::@9
queens::@9: scope:[queens]  from queens::@5
  [109] queens::$2 = legal::return#0
  [110] if(0==queens::$2) goto queens::@1
  to:queens::@6
queens::@6: scope:[queens]  from queens::@9
  [111] if(queens::row#10==8) goto queens::@4
  to:queens::@7
queens::@7: scope:[queens]  from queens::@6
  [112] queens::row#1 = ++ queens::row#10
  to:queens::@1
queens::@4: scope:[queens]  from queens::@6
  [113] count#2 = ++ count#10
  [114] call print
  to:queens::@1
queens::@3: scope:[queens]  from queens::@2
  [115] board[queens::row#10] = 0
  [116] if(queens::row#10==1) goto queens::@return
  to:queens::@8
queens::@8: scope:[queens]  from queens::@3
  [117] queens::row#2 = -- queens::row#10
  to:queens::@1
queens::@return: scope:[queens]  from queens::@3
  [118] return 
  to:@return

void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_ulong: scope:[printf_ulong]  from main::@7 print::@12
  [119] printf_ulong::uvalue#2 = phi( main::@7/printf_ulong::uvalue#0, print::@12/printf_ulong::uvalue#1 )
  to:printf_ulong::@1
printf_ulong::@1: scope:[printf_ulong]  from printf_ulong
  [120] *((char *)&printf_buffer) = 0
  [121] ultoa::value#1 = printf_ulong::uvalue#2
  [122] call ultoa
  to:printf_ulong::@2
printf_ulong::@2: scope:[printf_ulong]  from printf_ulong::@1
  [123] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer)
  [124] call printf_number_buffer
  to:printf_ulong::@return
printf_ulong::@return: scope:[printf_ulong]  from printf_ulong::@2
  [125] return 
  to:@return

char kbhit()
kbhit: scope:[kbhit]  from main::@1
  [126] *kbhit::CIA1_PORT_A = 0
  [127] kbhit::return#0 = ~ *kbhit::CIA1_PORT_B
  to:kbhit::@return
kbhit::@return: scope:[kbhit]  from kbhit
  [128] return 
  to:@return

void cscroll()
cscroll: scope:[cscroll]  from cputln
  [129] if(conio_cursor_y!=$19) goto cscroll::@return
  to:cscroll::@1
cscroll::@1: scope:[cscroll]  from cscroll
  [130] phi()
  [131] call memcpy
  to:cscroll::@2
cscroll::@2: scope:[cscroll]  from cscroll::@1
  [132] phi()
  [133] call memcpy
  to:cscroll::@3
cscroll::@3: scope:[cscroll]  from cscroll::@2
  [134] phi()
  [135] call memset
  to:cscroll::@4
cscroll::@4: scope:[cscroll]  from cscroll::@3
  [136] phi()
  [137] call memset
  to:cscroll::@5
cscroll::@5: scope:[cscroll]  from cscroll::@4
  [138] conio_line_text = conio_line_text - $28
  [139] conio_line_color = conio_line_color - $28
  [140] conio_cursor_y = -- conio_cursor_y
  to:cscroll::@return
cscroll::@return: scope:[cscroll]  from cscroll cscroll::@5
  [141] return 
  to:@return

void utoa(unsigned int value , char *buffer , char radix)
utoa: scope:[utoa]  from printf_uint::@1
  [142] phi()
  to:utoa::@1
utoa::@1: scope:[utoa]  from utoa utoa::@4
  [143] utoa::buffer#11 = phi( utoa::@4/utoa::buffer#14, utoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [143] utoa::started#2 = phi( utoa::@4/utoa::started#4, utoa/0 )
  [143] utoa::value#2 = phi( utoa::@4/utoa::value#6, utoa/printf_uint::uvalue#0 )
  [143] utoa::digit#2 = phi( utoa::@4/utoa::digit#1, utoa/0 )
  [144] if(utoa::digit#2<utoa::max_digits#1-1) goto utoa::@2
  to:utoa::@3
utoa::@3: scope:[utoa]  from utoa::@1
  [145] utoa::$11 = (char)utoa::value#2
  [146] *utoa::buffer#11 = DIGITS[utoa::$11]
  [147] utoa::buffer#3 = ++ utoa::buffer#11
  [148] *utoa::buffer#3 = 0
  to:utoa::@return
utoa::@return: scope:[utoa]  from utoa::@3
  [149] return 
  to:@return
utoa::@2: scope:[utoa]  from utoa::@1
  [150] utoa::$10 = utoa::digit#2 << 1
  [151] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10]
  [152] if(0!=utoa::started#2) goto utoa::@5
  to:utoa::@7
utoa::@7: scope:[utoa]  from utoa::@2
  [153] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5
  to:utoa::@4
utoa::@4: scope:[utoa]  from utoa::@6 utoa::@7
  [154] utoa::buffer#14 = phi( utoa::@7/utoa::buffer#11, utoa::@6/utoa::buffer#4 )
  [154] utoa::started#4 = phi( utoa::@7/utoa::started#2, utoa::@6/1 )
  [154] utoa::value#6 = phi( utoa::@7/utoa::value#2, utoa::@6/utoa::value#0 )
  [155] utoa::digit#1 = ++ utoa::digit#2
  to:utoa::@1
utoa::@5: scope:[utoa]  from utoa::@2 utoa::@7
  [156] utoa_append::buffer#0 = utoa::buffer#11
  [157] utoa_append::value#0 = utoa::value#2
  [158] utoa_append::sub#0 = utoa::digit_value#0
  [159] call utoa_append
  [160] utoa_append::return#0 = utoa_append::value#2
  to:utoa::@6
utoa::@6: scope:[utoa]  from utoa::@5
  [161] utoa::value#0 = utoa_append::return#0
  [162] utoa::buffer#4 = ++ utoa::buffer#11
  to:utoa::@4

void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_number_buffer: scope:[printf_number_buffer]  from printf_uchar::@2 printf_uint::@2 printf_ulong::@2
  [163] printf_number_buffer::format_upper_case#10 = phi( printf_uchar::@2/0, printf_uint::@2/printf_uint::format_upper_case#0, printf_ulong::@2/0 )
  [163] printf_number_buffer::putc#10 = phi( printf_uchar::@2/&cputc, printf_uint::@2/printf_uint::putc#0, printf_ulong::@2/&cputc )
  [163] printf_number_buffer::buffer_sign#10 = phi( printf_uchar::@2/printf_number_buffer::buffer_sign#2, printf_uint::@2/printf_number_buffer::buffer_sign#1, printf_ulong::@2/printf_number_buffer::buffer_sign#0 )
  [163] printf_number_buffer::format_zero_padding#10 = phi( printf_uchar::@2/0, printf_uint::@2/printf_uint::format_zero_padding#0, printf_ulong::@2/0 )
  [163] printf_number_buffer::format_justify_left#10 = phi( printf_uchar::@2/0, printf_uint::@2/printf_uint::format_justify_left#0, printf_ulong::@2/0 )
  [163] printf_number_buffer::format_min_length#3 = phi( printf_uchar::@2/0, printf_uint::@2/printf_uint::format_min_length#0, printf_ulong::@2/0 )
  [164] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1
  to:printf_number_buffer::@6
printf_number_buffer::@6: scope:[printf_number_buffer]  from printf_number_buffer
  [165] phi()
  [166] call strlen
  [167] strlen::return#2 = strlen::len#2
  to:printf_number_buffer::@14
printf_number_buffer::@14: scope:[printf_number_buffer]  from printf_number_buffer::@6
  [168] printf_number_buffer::$19 = strlen::return#2
  [169] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19
  [170] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13
  to:printf_number_buffer::@7
printf_number_buffer::@7: scope:[printf_number_buffer]  from printf_number_buffer::@14
  [171] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0
  to:printf_number_buffer::@13
printf_number_buffer::@13: scope:[printf_number_buffer]  from printf_number_buffer::@14 printf_number_buffer::@7
  [172] printf_number_buffer::len#2 = phi( printf_number_buffer::@14/printf_number_buffer::len#0, printf_number_buffer::@7/printf_number_buffer::len#1 )
  [173] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2
  [174] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21
  to:printf_number_buffer::@1
printf_number_buffer::@21: scope:[printf_number_buffer]  from printf_number_buffer::@13
  [175] phi()
  to:printf_number_buffer::@1
printf_number_buffer::@1: scope:[printf_number_buffer]  from printf_number_buffer printf_number_buffer::@13 printf_number_buffer::@21
  [176] printf_number_buffer::padding#10 = phi( printf_number_buffer/0, printf_number_buffer::@21/printf_number_buffer::padding#1, printf_number_buffer::@13/0 )
  [177] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2
  to:printf_number_buffer::@17
printf_number_buffer::@17: scope:[printf_number_buffer]  from printf_number_buffer::@1
  [178] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2
  to:printf_number_buffer::@16
printf_number_buffer::@16: scope:[printf_number_buffer]  from printf_number_buffer::@17
  [179] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8
  to:printf_number_buffer::@2
printf_number_buffer::@8: scope:[printf_number_buffer]  from printf_number_buffer::@16
  [180] printf_padding::putc#0 = printf_number_buffer::putc#10
  [181] printf_padding::length#0 = (char)printf_number_buffer::padding#10
  [182] call printf_padding
  to:printf_number_buffer::@2
printf_number_buffer::@2: scope:[printf_number_buffer]  from printf_number_buffer::@1 printf_number_buffer::@16 printf_number_buffer::@17 printf_number_buffer::@8
  [183] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3
  to:printf_number_buffer::@9
printf_number_buffer::@9: scope:[printf_number_buffer]  from printf_number_buffer::@2
  [184] stackpush(char) = printf_number_buffer::buffer_sign#10
  [185] callexecute *printf_number_buffer::putc#10 
  sideeffect stackpullbytes(1)
  to:printf_number_buffer::@3
printf_number_buffer::@3: scope:[printf_number_buffer]  from printf_number_buffer::@2 printf_number_buffer::@9
  [187] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4
  to:printf_number_buffer::@18
printf_number_buffer::@18: scope:[printf_number_buffer]  from printf_number_buffer::@3
  [188] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10
  to:printf_number_buffer::@4
printf_number_buffer::@10: scope:[printf_number_buffer]  from printf_number_buffer::@18
  [189] printf_padding::putc#1 = printf_number_buffer::putc#10
  [190] printf_padding::length#1 = (char)printf_number_buffer::padding#10
  [191] call printf_padding
  to:printf_number_buffer::@4
printf_number_buffer::@4: scope:[printf_number_buffer]  from printf_number_buffer::@10 printf_number_buffer::@18 printf_number_buffer::@3
  [192] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5
  to:printf_number_buffer::@11
printf_number_buffer::@11: scope:[printf_number_buffer]  from printf_number_buffer::@4
  [193] phi()
  [194] call strupr
  to:printf_number_buffer::@5
printf_number_buffer::@5: scope:[printf_number_buffer]  from printf_number_buffer::@11 printf_number_buffer::@4
  [195] printf_str::putc#0 = printf_number_buffer::putc#10
  [196] call printf_str
  to:printf_number_buffer::@15
printf_number_buffer::@15: scope:[printf_number_buffer]  from printf_number_buffer::@5
  [197] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return
  to:printf_number_buffer::@20
printf_number_buffer::@20: scope:[printf_number_buffer]  from printf_number_buffer::@15
  [198] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return
  to:printf_number_buffer::@19
printf_number_buffer::@19: scope:[printf_number_buffer]  from printf_number_buffer::@20
  [199] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12
  to:printf_number_buffer::@return
printf_number_buffer::@12: scope:[printf_number_buffer]  from printf_number_buffer::@19
  [200] printf_padding::putc#2 = printf_number_buffer::putc#10
  [201] printf_padding::length#2 = (char)printf_number_buffer::padding#10
  [202] call printf_padding
  to:printf_number_buffer::@return
printf_number_buffer::@return: scope:[printf_number_buffer]  from printf_number_buffer::@12 printf_number_buffer::@15 printf_number_buffer::@19 printf_number_buffer::@20
  [203] return 
  to:@return

char legal(char row , char column)
legal: scope:[legal]  from queens::@5
  [204] phi()
  to:legal::@1
legal::@1: scope:[legal]  from legal legal::@3
  [205] legal::i#10 = phi( legal/1, legal::@3/legal::i#1 )
  [206] legal::$0 = legal::row#0 - 1
  [207] if(legal::i#10<=legal::$0) goto legal::@2
  to:legal::@return
legal::@return: scope:[legal]  from legal::@1 legal::@2 legal::@5
  [208] legal::return#4 = phi( legal::@1/1, legal::@2/0, legal::@5/0 )
  [209] return 
  to:@return
legal::@2: scope:[legal]  from legal::@1
  [210] if(board[legal::i#10]==legal::column#0) goto legal::@return
  to:legal::@4
legal::@4: scope:[legal]  from legal::@2
  [211] legal::diff1_a#0 = board[legal::i#10]
  to:legal::diff1
legal::diff1: scope:[legal]  from legal::@4
  [212] if(legal::diff1_a#0<legal::column#0) goto legal::diff1_@1
  to:legal::diff1_@3
legal::diff1_@3: scope:[legal]  from legal::diff1
  [213] legal::diff1_return#1 = legal::diff1_a#0 - legal::column#0
  to:legal::diff1_@return
legal::diff1_@return: scope:[legal]  from legal::diff1_@1 legal::diff1_@3
  [214] legal::diff1_return#2 = phi( legal::diff1_@1/legal::diff1_return#0, legal::diff1_@3/legal::diff1_return#1 )
  to:legal::diff2
legal::diff2: scope:[legal]  from legal::diff1_@return
  [215] if(legal::i#10<legal::row#0) goto legal::diff2_@1
  to:legal::diff2_@3
legal::diff2_@3: scope:[legal]  from legal::diff2
  [216] legal::diff2_return#1 = legal::i#10 - legal::row#0
  to:legal::diff2_@return
legal::diff2_@return: scope:[legal]  from legal::diff2_@1 legal::diff2_@3
  [217] legal::diff2_return#2 = phi( legal::diff2_@1/legal::diff2_return#0, legal::diff2_@3/legal::diff2_return#1 )
  to:legal::@5
legal::@5: scope:[legal]  from legal::diff2_@return
  [218] if(legal::diff1_return#2!=legal::diff2_return#2) goto legal::@3
  to:legal::@return
legal::@3: scope:[legal]  from legal::@5
  [219] legal::i#1 = ++ legal::i#10
  to:legal::@1
legal::diff2_@1: scope:[legal]  from legal::diff2
  [220] legal::diff2_return#0 = legal::row#0 - legal::i#10
  to:legal::diff2_@return
legal::diff1_@1: scope:[legal]  from legal::diff1
  [221] legal::diff1_return#0 = legal::column#0 - legal::diff1_a#0
  to:legal::diff1_@return

void print()
print: scope:[print]  from queens::@4
  [222] phi()
  [223] call gotoxy
  to:print::@11
print::@11: scope:[print]  from print
  [224] phi()
  [225] call printf_str
  to:print::@12
print::@12: scope:[print]  from print::@11
  [226] printf_ulong::uvalue#1 = count#2
  [227] call printf_ulong
  to:print::@13
print::@13: scope:[print]  from print::@12
  [228] phi()
  [229] call printf_str
  to:print::@1
print::@1: scope:[print]  from print::@13 print::@14
  [230] print::i#2 = phi( print::@13/1, print::@14/print::i#1 )
  [231] if(print::i#2<8+1) goto print::@2
  to:print::@3
print::@3: scope:[print]  from print::@1 print::@7
  [232] print::i1#2 = phi( print::@1/1, print::@7/print::i1#1 )
  [233] if(print::i1#2<8+1) goto print::@4
  to:print::@return
print::@return: scope:[print]  from print::@3
  [234] return 
  to:@return
print::@4: scope:[print]  from print::@3
  [235] phi()
  [236] call printf_str
  to:print::@15
print::@15: scope:[print]  from print::@4
  [237] printf_uchar::uvalue#1 = print::i1#2
  [238] call printf_uchar
  to:print::@5
print::@5: scope:[print]  from print::@15 print::@9
  [239] print::j#2 = phi( print::@9/print::j#1, print::@15/1 )
  [240] if(print::j#2<8+1) goto print::@6
  to:print::@7
print::@7: scope:[print]  from print::@5
  [241] print::i1#1 = ++ print::i1#2
  to:print::@3
print::@6: scope:[print]  from print::@5
  [242] if(board[print::i1#2]==print::j#2) goto print::@8
  to:print::@10
print::@10: scope:[print]  from print::@6
  [243] phi()
  [244] call printf_str
  to:print::@9
print::@9: scope:[print]  from print::@10 print::@8
  [245] print::j#1 = ++ print::j#2
  to:print::@5
print::@8: scope:[print]  from print::@6
  [246] phi()
  [247] call printf_str
  to:print::@9
print::@2: scope:[print]  from print::@1
  [248] printf_uchar::uvalue#0 = print::i#2
  [249] call printf_uchar
  to:print::@14
print::@14: scope:[print]  from print::@2
  [250] print::i#1 = ++ print::i#2
  to:print::@1

void ultoa(unsigned long value , char *buffer , char radix)
ultoa: scope:[ultoa]  from printf_ulong::@1
  [251] phi()
  to:ultoa::@1
ultoa::@1: scope:[ultoa]  from ultoa ultoa::@4
  [252] ultoa::buffer#11 = phi( ultoa::@4/ultoa::buffer#14, ultoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [252] ultoa::started#2 = phi( ultoa::@4/ultoa::started#4, ultoa/0 )
  [252] ultoa::value#2 = phi( ultoa::@4/ultoa::value#6, ultoa/ultoa::value#1 )
  [252] ultoa::digit#2 = phi( ultoa::@4/ultoa::digit#1, ultoa/0 )
  [253] if(ultoa::digit#2<$a-1) goto ultoa::@2
  to:ultoa::@3
ultoa::@3: scope:[ultoa]  from ultoa::@1
  [254] ultoa::$11 = (char)ultoa::value#2
  [255] *ultoa::buffer#11 = DIGITS[ultoa::$11]
  [256] ultoa::buffer#3 = ++ ultoa::buffer#11
  [257] *ultoa::buffer#3 = 0
  to:ultoa::@return
ultoa::@return: scope:[ultoa]  from ultoa::@3
  [258] return 
  to:@return
ultoa::@2: scope:[ultoa]  from ultoa::@1
  [259] ultoa::$10 = ultoa::digit#2 << 2
  [260] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10]
  [261] if(0!=ultoa::started#2) goto ultoa::@5
  to:ultoa::@7
ultoa::@7: scope:[ultoa]  from ultoa::@2
  [262] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5
  to:ultoa::@4
ultoa::@4: scope:[ultoa]  from ultoa::@6 ultoa::@7
  [263] ultoa::buffer#14 = phi( ultoa::@7/ultoa::buffer#11, ultoa::@6/ultoa::buffer#4 )
  [263] ultoa::started#4 = phi( ultoa::@7/ultoa::started#2, ultoa::@6/1 )
  [263] ultoa::value#6 = phi( ultoa::@7/ultoa::value#2, ultoa::@6/ultoa::value#0 )
  [264] ultoa::digit#1 = ++ ultoa::digit#2
  to:ultoa::@1
ultoa::@5: scope:[ultoa]  from ultoa::@2 ultoa::@7
  [265] ultoa_append::buffer#0 = ultoa::buffer#11
  [266] ultoa_append::value#0 = ultoa::value#2
  [267] ultoa_append::sub#0 = ultoa::digit_value#0
  [268] call ultoa_append
  [269] ultoa_append::return#0 = ultoa_append::value#2
  to:ultoa::@6
ultoa::@6: scope:[ultoa]  from ultoa::@5
  [270] ultoa::value#0 = ultoa_append::return#0
  [271] ultoa::buffer#4 = ++ ultoa::buffer#11
  to:ultoa::@4

void * memcpy(void *destination , void *source , unsigned int num)
memcpy: scope:[memcpy]  from cscroll::@1 cscroll::@2
  [272] memcpy::destination#2 = phi( cscroll::@1/(void *)DEFAULT_SCREEN, cscroll::@2/(void *)COLORRAM )
  [272] memcpy::source#2 = phi( cscroll::@1/(void *)DEFAULT_SCREEN+$28, cscroll::@2/(void *)COLORRAM+$28 )
  [273] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28
  [274] memcpy::src#4 = (char *)memcpy::source#2
  [275] memcpy::dst#4 = (char *)memcpy::destination#2
  to:memcpy::@1
memcpy::@1: scope:[memcpy]  from memcpy memcpy::@2
  [276] memcpy::dst#2 = phi( memcpy/memcpy::dst#4, memcpy::@2/memcpy::dst#1 )
  [276] memcpy::src#2 = phi( memcpy/memcpy::src#4, memcpy::@2/memcpy::src#1 )
  [277] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2
  to:memcpy::@return
memcpy::@return: scope:[memcpy]  from memcpy::@1
  [278] return 
  to:@return
memcpy::@2: scope:[memcpy]  from memcpy::@1
  [279] *memcpy::dst#2 = *memcpy::src#2
  [280] memcpy::dst#1 = ++ memcpy::dst#2
  [281] memcpy::src#1 = ++ memcpy::src#2
  to:memcpy::@1

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from cscroll::@3 cscroll::@4
  [282] memset::c#4 = phi( cscroll::@3/' ', cscroll::@4/LIGHT_BLUE )
  [282] memset::str#3 = phi( cscroll::@3/(void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28, cscroll::@4/(void *)COLORRAM+(unsigned int)$19*$28-$28 )
  to:memset::@1
memset::@1: scope:[memset]  from memset
  [283] memset::end#0 = (char *)memset::str#3 + $28
  [284] memset::dst#4 = (char *)memset::str#3
  to:memset::@2
memset::@2: scope:[memset]  from memset::@1 memset::@3
  [285] memset::dst#2 = phi( memset::@1/memset::dst#4, memset::@3/memset::dst#1 )
  [286] if(memset::dst#2!=memset::end#0) goto memset::@3
  to:memset::@return
memset::@return: scope:[memset]  from memset::@2
  [287] return 
  to:@return
memset::@3: scope:[memset]  from memset::@2
  [288] *memset::dst#2 = memset::c#4
  [289] memset::dst#1 = ++ memset::dst#2
  to:memset::@2

unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
utoa_append: scope:[utoa_append]  from utoa::@5
  [290] phi()
  to:utoa_append::@1
utoa_append::@1: scope:[utoa_append]  from utoa_append utoa_append::@2
  [291] utoa_append::digit#2 = phi( utoa_append/0, utoa_append::@2/utoa_append::digit#1 )
  [291] utoa_append::value#2 = phi( utoa_append/utoa_append::value#0, utoa_append::@2/utoa_append::value#1 )
  [292] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2
  to:utoa_append::@3
utoa_append::@3: scope:[utoa_append]  from utoa_append::@1
  [293] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2]
  to:utoa_append::@return
utoa_append::@return: scope:[utoa_append]  from utoa_append::@3
  [294] return 
  to:@return
utoa_append::@2: scope:[utoa_append]  from utoa_append::@1
  [295] utoa_append::digit#1 = ++ utoa_append::digit#2
  [296] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0
  to:utoa_append::@1

unsigned int strlen(char *str)
strlen: scope:[strlen]  from printf_number_buffer::@6
  [297] phi()
  to:strlen::@1
strlen::@1: scope:[strlen]  from strlen strlen::@2
  [298] strlen::len#2 = phi( strlen/0, strlen::@2/strlen::len#1 )
  [298] strlen::str#2 = phi( strlen/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS, strlen::@2/strlen::str#0 )
  [299] if(0!=*strlen::str#2) goto strlen::@2
  to:strlen::@return
strlen::@return: scope:[strlen]  from strlen::@1
  [300] return 
  to:@return
strlen::@2: scope:[strlen]  from strlen::@1
  [301] strlen::len#1 = ++ strlen::len#2
  [302] strlen::str#0 = ++ strlen::str#2
  to:strlen::@1

void printf_padding(void (*putc)(char) , char pad , char length)
printf_padding: scope:[printf_padding]  from printf_number_buffer::@10 printf_number_buffer::@12 printf_number_buffer::@8
  [303] printf_padding::putc#5 = phi( printf_number_buffer::@10/printf_padding::putc#1, printf_number_buffer::@12/printf_padding::putc#2, printf_number_buffer::@8/printf_padding::putc#0 )
  [303] printf_padding::pad#5 = phi( printf_number_buffer::@10/'0', printf_number_buffer::@12/' ', printf_number_buffer::@8/' ' )
  [303] printf_padding::length#4 = phi( printf_number_buffer::@10/printf_padding::length#1, printf_number_buffer::@12/printf_padding::length#2, printf_number_buffer::@8/printf_padding::length#0 )
  to:printf_padding::@1
printf_padding::@1: scope:[printf_padding]  from printf_padding printf_padding::@3
  [304] printf_padding::i#2 = phi( printf_padding/0, printf_padding::@3/printf_padding::i#1 )
  [305] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2
  to:printf_padding::@return
printf_padding::@return: scope:[printf_padding]  from printf_padding::@1
  [306] return 
  to:@return
printf_padding::@2: scope:[printf_padding]  from printf_padding::@1
  [307] stackpush(char) = printf_padding::pad#5
  [308] callexecute *printf_padding::putc#5 
  sideeffect stackpullbytes(1)
  to:printf_padding::@3
printf_padding::@3: scope:[printf_padding]  from printf_padding::@2
  [310] printf_padding::i#1 = ++ printf_padding::i#2
  to:printf_padding::@1

char * strupr(char *str)
strupr: scope:[strupr]  from printf_number_buffer::@11
  [311] phi()
  to:strupr::@1
strupr::@1: scope:[strupr]  from strupr strupr::@3
  [312] strupr::src#2 = phi( strupr/strupr::str#0, strupr::@3/strupr::src#1 )
  [313] if(0!=*strupr::src#2) goto strupr::@2
  to:strupr::@return
strupr::@return: scope:[strupr]  from strupr::@1
  [314] return 
  to:@return
strupr::@2: scope:[strupr]  from strupr::@1
  [315] toupper::ch#0 = *strupr::src#2
  [316] call toupper
  [317] toupper::return#3 = toupper::return#2
  to:strupr::@3
strupr::@3: scope:[strupr]  from strupr::@2
  [318] strupr::$0 = toupper::return#3
  [319] *strupr::src#2 = strupr::$0
  [320] strupr::src#1 = ++ strupr::src#2
  to:strupr::@1

void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
printf_uchar: scope:[printf_uchar]  from print::@15 print::@2
  [321] printf_uchar::uvalue#2 = phi( print::@15/printf_uchar::uvalue#1, print::@2/printf_uchar::uvalue#0 )
  to:printf_uchar::@1
printf_uchar::@1: scope:[printf_uchar]  from printf_uchar
  [322] *((char *)&printf_buffer) = 0
  [323] uctoa::value#1 = printf_uchar::uvalue#2
  [324] call uctoa
  to:printf_uchar::@2
printf_uchar::@2: scope:[printf_uchar]  from printf_uchar::@1
  [325] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer)
  [326] call printf_number_buffer
  to:printf_uchar::@return
printf_uchar::@return: scope:[printf_uchar]  from printf_uchar::@2
  [327] return 
  to:@return

unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
ultoa_append: scope:[ultoa_append]  from ultoa::@5
  [328] phi()
  to:ultoa_append::@1
ultoa_append::@1: scope:[ultoa_append]  from ultoa_append ultoa_append::@2
  [329] ultoa_append::digit#2 = phi( ultoa_append/0, ultoa_append::@2/ultoa_append::digit#1 )
  [329] ultoa_append::value#2 = phi( ultoa_append/ultoa_append::value#0, ultoa_append::@2/ultoa_append::value#1 )
  [330] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2
  to:ultoa_append::@3
ultoa_append::@3: scope:[ultoa_append]  from ultoa_append::@1
  [331] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2]
  to:ultoa_append::@return
ultoa_append::@return: scope:[ultoa_append]  from ultoa_append::@3
  [332] return 
  to:@return
ultoa_append::@2: scope:[ultoa_append]  from ultoa_append::@1
  [333] ultoa_append::digit#1 = ++ ultoa_append::digit#2
  [334] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0
  to:ultoa_append::@1

char toupper(char ch)
toupper: scope:[toupper]  from strupr::@2
  [335] if(toupper::ch#0<'a') goto toupper::@return
  to:toupper::@2
toupper::@2: scope:[toupper]  from toupper
  [336] if(toupper::ch#0<='z') goto toupper::@1
  to:toupper::@return
toupper::@1: scope:[toupper]  from toupper::@2
  [337] toupper::return#0 = toupper::ch#0 + 'A'-'a'
  to:toupper::@return
toupper::@return: scope:[toupper]  from toupper toupper::@1 toupper::@2
  [338] toupper::return#2 = phi( toupper::@1/toupper::return#0, toupper/toupper::ch#0, toupper::@2/toupper::ch#0 )
  [339] return 
  to:@return

void uctoa(char value , char *buffer , char radix)
uctoa: scope:[uctoa]  from printf_uchar::@1
  [340] phi()
  to:uctoa::@1
uctoa::@1: scope:[uctoa]  from uctoa uctoa::@4
  [341] uctoa::buffer#11 = phi( uctoa::@4/uctoa::buffer#14, uctoa/(char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS )
  [341] uctoa::started#2 = phi( uctoa::@4/uctoa::started#4, uctoa/0 )
  [341] uctoa::value#2 = phi( uctoa::@4/uctoa::value#6, uctoa/uctoa::value#1 )
  [341] uctoa::digit#2 = phi( uctoa::@4/uctoa::digit#1, uctoa/0 )
  [342] if(uctoa::digit#2<2-1) goto uctoa::@2
  to:uctoa::@3
uctoa::@3: scope:[uctoa]  from uctoa::@1
  [343] *uctoa::buffer#11 = DIGITS[uctoa::value#2]
  [344] uctoa::buffer#3 = ++ uctoa::buffer#11
  [345] *uctoa::buffer#3 = 0
  to:uctoa::@return
uctoa::@return: scope:[uctoa]  from uctoa::@3
  [346] return 
  to:@return
uctoa::@2: scope:[uctoa]  from uctoa::@1
  [347] uctoa::digit_value#0 = RADIX_HEXADECIMAL_VALUES_CHAR[uctoa::digit#2]
  [348] if(0!=uctoa::started#2) goto uctoa::@5
  to:uctoa::@7
uctoa::@7: scope:[uctoa]  from uctoa::@2
  [349] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@5
  to:uctoa::@4
uctoa::@4: scope:[uctoa]  from uctoa::@6 uctoa::@7
  [350] uctoa::buffer#14 = phi( uctoa::@7/uctoa::buffer#11, uctoa::@6/uctoa::buffer#4 )
  [350] uctoa::started#4 = phi( uctoa::@7/uctoa::started#2, uctoa::@6/1 )
  [350] uctoa::value#6 = phi( uctoa::@7/uctoa::value#2, uctoa::@6/uctoa::value#0 )
  [351] uctoa::digit#1 = ++ uctoa::digit#2
  to:uctoa::@1
uctoa::@5: scope:[uctoa]  from uctoa::@2 uctoa::@7
  [352] uctoa_append::buffer#0 = uctoa::buffer#11
  [353] uctoa_append::value#0 = uctoa::value#2
  [354] uctoa_append::sub#0 = uctoa::digit_value#0
  [355] call uctoa_append
  [356] uctoa_append::return#0 = uctoa_append::value#2
  to:uctoa::@6
uctoa::@6: scope:[uctoa]  from uctoa::@5
  [357] uctoa::value#0 = uctoa_append::return#0
  [358] uctoa::buffer#4 = ++ uctoa::buffer#11
  to:uctoa::@4

char uctoa_append(char *buffer , char value , char sub)
uctoa_append: scope:[uctoa_append]  from uctoa::@5
  [359] phi()
  to:uctoa_append::@1
uctoa_append::@1: scope:[uctoa_append]  from uctoa_append uctoa_append::@2
  [360] uctoa_append::digit#2 = phi( uctoa_append/0, uctoa_append::@2/uctoa_append::digit#1 )
  [360] uctoa_append::value#2 = phi( uctoa_append/uctoa_append::value#0, uctoa_append::@2/uctoa_append::value#1 )
  [361] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2
  to:uctoa_append::@3
uctoa_append::@3: scope:[uctoa_append]  from uctoa_append::@1
  [362] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2]
  to:uctoa_append::@return
uctoa_append::@return: scope:[uctoa_append]  from uctoa_append::@3
  [363] return 
  to:@return
uctoa_append::@2: scope:[uctoa_append]  from uctoa_append::@1
  [364] uctoa_append::digit#1 = ++ uctoa_append::digit#2
  [365] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0
  to:uctoa_append::@1

null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: print::@3 tails: print::@7 blocks: print::@7 print::@5 print::@15 print::@9 print::@4 print::@10 print::@8 print::@3 print::@6  in scope printf_uchar
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: print::@1 tails: print::@14 blocks: print::@14 print::@2 print::@1  in scope printf_uchar
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: print::@3 tails: print::@7 blocks: print::@7 print::@5 print::@15 print::@9 print::@4 print::@10 print::@8 print::@3 print::@6  in scope printf_str
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: print::@3 tails: print::@7 blocks: print::@7 print::@5 print::@15 print::@9 print::@4 print::@10 print::@8 print::@3 print::@6  in scope printf_str
null depth in calling loop Loop head: print::@5 tails: print::@9 blocks: print::@9 print::@10 print::@8 print::@6 print::@5  in scope printf_str
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: print::@3 tails: print::@7 blocks: print::@7 print::@5 print::@15 print::@9 print::@4 print::@10 print::@8 print::@3 print::@6  in scope printf_str
null depth in calling loop Loop head: print::@5 tails: print::@9 blocks: print::@9 print::@10 print::@8 print::@6 print::@5  in scope printf_str
null depth in calling loop Loop head: queens::@1 tails: queens::@9 queens::@8 queens::@7 queens::@4 blocks: queens::@9 queens::@5 queens::@2 queens::@1 queens::@8 queens::@3 queens::@7 queens::@6 queens::@4  in scope print
null depth in calling loop Loop head: print::@3 tails: print::@7 blocks: print::@7 print::@5 print::@15 print::@9 print::@4 print::@10 print::@8 print::@3 print::@6  in scope printf_uchar
null depth in calling loop Loop head: print::@1 tails: print::@14 blocks: print::@14 print::@2 print::@1  in scope printf_uchar

VARIABLE REGISTER WEIGHTS
void __start()
void clrscr()
char clrscr::c
char clrscr::c#1 // 20002.0
char clrscr::c#2 // 12501.25
char clrscr::l
char clrscr::l#1 // 2002.0
char clrscr::l#2 // 333.6666666666667
char *clrscr::line_cols
char *clrscr::line_cols#1 // 1001.0
char *clrscr::line_cols#5 // 1500.375
char *clrscr::line_text
char *clrscr::line_text#1 // 667.3333333333334
char *clrscr::line_text#5 // 1714.7142857142858
void conio_c64_init()
char conio_c64_init::line
char conio_c64_init::line#0 // 11.0
char conio_c64_init::line#2 // 22.0
__loadstore char conio_cursor_x // 20025.000000000004
__loadstore char conio_cursor_y // 4366.478260869564
__loadstore char *conio_line_color // 4560.454545454545
__loadstore char *conio_line_text // 4777.619047619047
unsigned long count
unsigned long count#10 // 445.5
unsigned long count#2 // 387.19354838709677
__stackcall void cputc(char c)
char cputc::c
char cputc::c#0 // 3.0
void cputln()
void cscroll()
void gotoxy(char x , char y)
char *gotoxy::$5 // 200002.0
char *gotoxy::$6 // 200002.0
unsigned int gotoxy::$7 // 150001.5
unsigned int gotoxy::$8 // 200002.0
unsigned int gotoxy::$9 // 200002.0
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0 // 100001.0
char gotoxy::x
char gotoxy::y
char gotoxy::y#2 // 22.0
char gotoxy::y#4 // 66671.0
char gotoxy::y#5 // 66667.33333333333
char kbhit()
char kbhit::return
char kbhit::return#0 // 367.33333333333337
char kbhit::return#2 // 202.0
char legal(char row , char column)
char legal::$0 // 2000002.0
char legal::column
char legal::column#0 // 235353.23529411765
char legal::diff1_a
char legal::diff1_a#0 // 2000002.0
char legal::diff1_b
char legal::diff1_return
char legal::diff1_return#0 // 2000002.0
char legal::diff1_return#1 // 2000002.0
char legal::diff1_return#2 // 600000.6000000001
char legal::diff2_a
char legal::diff2_b
char legal::diff2_return
char legal::diff2_return#0 // 2000002.0
char legal::diff2_return#1 // 2000002.0
char legal::diff2_return#2 // 3000003.0
char legal::i
char legal::i#1 // 2000002.0
char legal::i#10 // 571429.1428571428
char legal::return
char legal::return#0 // 2002.0
char legal::return#4 // 333.6666666666667
char legal::row
char legal::row#0 // 222278.05555555556
void main()
char main::$5 // 202.0
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#2
char *memcpy::dst
char *memcpy::dst#1 // 10001.0
char *memcpy::dst#2 // 10334.666666666666
char *memcpy::dst#4 // 2002.0
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
void *memcpy::source#2
char *memcpy::src
char *memcpy::src#1 // 20002.0
char *memcpy::src#2 // 10251.25
char *memcpy::src#4 // 1001.0
char *memcpy::src_end
char *memcpy::src_end#0 // 1375.25
void * memset(void *str , char c , unsigned int num)
char memset::c
char memset::c#4 // 1428.7142857142858
char *memset::dst
char *memset::dst#1 // 20002.0
char *memset::dst#2 // 13668.333333333332
char *memset::dst#4 // 2002.0
char *memset::end
char *memset::end#0 // 1833.6666666666665
unsigned int memset::num
void *memset::return
void *memset::str
void *memset::str#3
void print()
char print::i
char print::i#1 // 2000002.0
char print::i#2 // 1000001.0
char print::i1
char print::i1#1 // 2000002.0
char print::i1#2 // 1000000.357142857
char print::j
char print::j#1 // 2.0000002E7
char print::j#2 // 5714286.285714285
__loadstore struct printf_buffer_number printf_buffer = {}
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
unsigned int printf_number_buffer::$19 // 1.00000001E8
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0 // 200002.0
char printf_number_buffer::buffer_sign#1 // 202.0
char printf_number_buffer::buffer_sign#10 // 1.4766671714285715E7
char printf_number_buffer::buffer_sign#2 // 2.0000002E7
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_justify_left#10 // 6060606.121212121
char printf_number_buffer::format_min_length
char printf_number_buffer::format_min_length#3 // 1.00000001E7
char printf_number_buffer::format_radix
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_upper_case
char printf_number_buffer::format_upper_case#10 // 3571428.6071428573
char printf_number_buffer::format_zero_padding
char printf_number_buffer::format_zero_padding#10 // 8823529.5
signed char printf_number_buffer::len
signed char printf_number_buffer::len#0 // 1.500000015E8
signed char printf_number_buffer::len#1 // 2.00000002E8
signed char printf_number_buffer::len#2 // 3.00000003E8
signed char printf_number_buffer::padding
signed char printf_number_buffer::padding#1 // 1.00000001E8
signed char printf_number_buffer::padding#10 // 1.6666666833333334E7
void (*printf_number_buffer::putc)(char)
void (*printf_number_buffer::putc#10)(char) // 1.1111111222222222E7
void printf_padding(void (*putc)(char) , char pad , char length)
char printf_padding::i
char printf_padding::i#1 // 2.000000000002E12
char printf_padding::i#2 // 1.000000000001E12
char printf_padding::length
char printf_padding::length#0 // 2.00000002E8
char printf_padding::length#1 // 2.00000002E8
char printf_padding::length#2 // 2.00000002E8
char printf_padding::length#4 // 2.0006000000080002E11
char printf_padding::pad
char printf_padding::pad#5 // 1.6666666666683334E11
void (*printf_padding::putc)(char)
void (*printf_padding::putc#0)(char) // 1.00000001E8
void (*printf_padding::putc#1)(char) // 1.00000001E8
void (*printf_padding::putc#2)(char) // 1.00000001E8
void (*printf_padding::putc#5)(char) // 3.00000003E9
void printf_str(void (*putc)(char) , const char *s)
char printf_str::c
char printf_str::c#1 // 1.0000000001E10
void (*printf_str::putc)(char)
void (*printf_str::putc#0)(char) // 2.00000002E8
void (*printf_str::putc#12)(char) // 1.00000001E9
const char *printf_str::s
const char *printf_str::s#0 // 1.0000000001E10
const char *printf_str::s#11 // 1.5500000002E10
const char *printf_str::s#12 // 1.000000001E9
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uchar::format
char printf_uchar::format_justify_left
char printf_uchar::format_min_length
char printf_uchar::format_radix
char printf_uchar::format_sign_always
char printf_uchar::format_upper_case
char printf_uchar::format_zero_padding
void (*printf_uchar::putc)(char)
char printf_uchar::uvalue
char printf_uchar::uvalue#0 // 2000002.0
char printf_uchar::uvalue#1 // 2000002.0
char printf_uchar::uvalue#2 // 6000001.5
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uint::format
char printf_uint::format_justify_left
char printf_uint::format_min_length
char printf_uint::format_radix
char printf_uint::format_sign_always
char printf_uint::format_upper_case
char printf_uint::format_zero_padding
void (*printf_uint::putc)(char)
unsigned int printf_uint::uvalue
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_ulong::format
char printf_ulong::format_justify_left
char printf_ulong::format_min_length
char printf_ulong::format_radix
char printf_ulong::format_sign_always
char printf_ulong::format_upper_case
char printf_ulong::format_zero_padding
void (*printf_ulong::putc)(char)
unsigned long printf_ulong::uvalue
unsigned long printf_ulong::uvalue#0 // 22.0
unsigned long printf_ulong::uvalue#1 // 20002.0
unsigned long printf_ulong::uvalue#2 // 55006.5
void queens()
char queens::$2 // 2002.0
char queens::row
char queens::row#1 // 2002.0
char queens::row#10 // 1144.0
char queens::row#2 // 2002.0
unsigned int strlen(char *str)
unsigned int strlen::len
unsigned int strlen::len#1 // 1.000000000001E12
unsigned int strlen::len#2 // 5.0002500000075E11
unsigned int strlen::return
unsigned int strlen::return#2 // 2.00000002E8
char *strlen::str
char *strlen::str#0 // 2.000000000002E12
char *strlen::str#2 // 1.000000000001E12
char * strupr(char *str)
char strupr::$0 // 2.000000000002E12
char *strupr::return
char *strupr::src
char *strupr::src#1 // 2.000000000002E12
char *strupr::src#2 // 7.142857142864285E11
char *strupr::str
char toupper(char ch)
char toupper::ch
char toupper::ch#0 // 1.7000000000001998E13
char toupper::return
char toupper::return#0 // 2.0000000000002E13
char toupper::return#2 // 1.0333333333334666E13
char toupper::return#3 // 2.000000000002E12
void uctoa(char value , char *buffer , char radix)
char *uctoa::buffer
char *uctoa::buffer#11 // 3.3350000000500004E10
char *uctoa::buffer#14 // 1.500000000015E11
char *uctoa::buffer#3 // 2.00000002E8
char *uctoa::buffer#4 // 2.00000000002E11
char uctoa::digit
char uctoa::digit#1 // 2.00000000002E11
char uctoa::digit#2 // 3.076923076953846E10
char uctoa::digit_value
char uctoa::digit_value#0 // 6.0000000000600006E10
char *uctoa::digit_values
char uctoa::max_digits
char uctoa::radix
char uctoa::started
char uctoa::started#2 // 6.0000000000600006E10
char uctoa::started#4 // 1.00000000001E11
char uctoa::value
char uctoa::value#0 // 1.00000000001E11
char uctoa::value#1 // 5.5000001E7
char uctoa::value#2 // 6.670000000100001E10
char uctoa::value#6 // 1.500000000015E11
char uctoa_append(char *buffer , char value , char sub)
char *uctoa_append::buffer
char *uctoa_append::buffer#0 // 1.3750000000025E11
char uctoa_append::digit
char uctoa_append::digit#1 // 1.0E16
char uctoa_append::digit#2 // 1.00005E16
char uctoa_append::return
char uctoa_append::return#0 // 2.00000000002E11
char uctoa_append::sub
char uctoa_append::sub#0 // 3.33335E15
char uctoa_append::value
char uctoa_append::value#0 // 3.666666666673334E11
char uctoa_append::value#1 // 2.0E16
char uctoa_append::value#2 // 5.000183333333334E15
void ultoa(unsigned long value , char *buffer , char radix)
char ultoa::$10 // 2.00000002E8
char ultoa::$11 // 2000002.0
char *ultoa::buffer
char *ultoa::buffer#11 // 2.871428614285714E7
char *ultoa::buffer#14 // 1.500000015E8
char *ultoa::buffer#3 // 2000002.0
char *ultoa::buffer#4 // 2.00000002E8
char ultoa::digit
char ultoa::digit#1 // 2.00000002E8
char ultoa::digit#2 // 2.857142885714286E7
unsigned long ultoa::digit_value
unsigned long ultoa::digit_value#0 // 6.0000000599999994E7
unsigned long *ultoa::digit_values
char ultoa::max_digits
char ultoa::radix
char ultoa::started
char ultoa::started#2 // 5.00000005E7
char ultoa::started#4 // 1.00000001E8
unsigned long ultoa::value
unsigned long ultoa::value#0 // 1.00000001E8
unsigned long ultoa::value#1 // 550001.0
unsigned long ultoa::value#2 // 5.7285715E7
unsigned long ultoa::value#6 // 1.500000015E8
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
char *ultoa_append::buffer
char *ultoa_append::buffer#0 // 1.3750000025E8
char ultoa_append::digit
char ultoa_append::digit#1 // 1.000000000001E12
char ultoa_append::digit#2 // 1.0005000000015E12
unsigned long ultoa_append::return
unsigned long ultoa_append::return#0 // 2.00000002E8
unsigned long ultoa_append::sub
unsigned long ultoa_append::sub#0 // 3.333500000005E11
unsigned long ultoa_append::value
unsigned long ultoa_append::value#0 // 3.666666673333334E8
unsigned long ultoa_append::value#1 // 2.000000000002E12
unsigned long ultoa_append::value#2 // 5.0018333333416675E11
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // 20002.0
char utoa::$11 // 2002.0
char *utoa::buffer
char *utoa::buffer#11 // 3000.4285714285716
char *utoa::buffer#14 // 15001.5
char *utoa::buffer#3 // 2002.0
char *utoa::buffer#4 // 20002.0
char utoa::digit
char utoa::digit#1 // 20002.0
char utoa::digit#2 // 2857.4285714285716
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // 6000.6
unsigned int *utoa::digit_values
char utoa::max_digits
char utoa::radix
char utoa::started
char utoa::started#2 // 5000.5
char utoa::started#4 // 10001.0
unsigned int utoa::value
unsigned int utoa::value#0 // 10001.0
unsigned int utoa::value#2 // 5714.857142857143
unsigned int utoa::value#6 // 15001.5
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // 13750.25
char utoa_append::digit
char utoa_append::digit#1 // 1.0000001E7
char utoa_append::digit#2 // 1.00500015E7
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // 20002.0
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // 3335000.5
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // 36667.33333333333
unsigned int utoa_append::value#1 // 2.0000002E7
unsigned int utoa_append::value#2 // 5018334.166666666

Initial phi equivalence classes
[ conio_c64_init::line#2 conio_c64_init::line#0 ]
[ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
[ clrscr::l#2 clrscr::l#1 ]
[ clrscr::line_text#5 clrscr::line_text#1 ]
[ clrscr::line_cols#5 clrscr::line_cols#1 ]
[ clrscr::c#2 clrscr::c#1 ]
[ printf_str::putc#12 printf_str::putc#0 ]
[ printf_str::s#11 printf_str::s#12 printf_str::s#0 ]
[ queens::row#10 queens::row#1 queens::row#2 ]
[ count#10 count#2 ]
[ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#2 utoa::value#6 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ]
[ printf_number_buffer::format_min_length#3 ]
[ printf_number_buffer::format_justify_left#10 ]
[ printf_number_buffer::format_zero_padding#10 ]
[ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
[ printf_number_buffer::putc#10 ]
[ printf_number_buffer::format_upper_case#10 ]
[ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
[ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
[ legal::i#10 legal::i#1 ]
[ legal::return#4 ]
[ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ]
[ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ]
[ print::i#2 print::i#1 ]
[ print::i1#2 print::i1#1 ]
[ print::j#2 print::j#1 ]
[ ultoa::digit#2 ultoa::digit#1 ]
[ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ]
[ ultoa::started#2 ultoa::started#4 ]
[ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ]
[ memcpy::source#2 ]
[ memcpy::destination#2 ]
[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
[ memset::str#3 ]
[ memset::c#4 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ strlen::str#2 strlen::str#0 ]
[ strlen::len#2 strlen::len#1 ]
[ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
[ printf_padding::pad#5 ]
[ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ]
[ printf_padding::i#2 printf_padding::i#1 ]
[ strupr::src#2 strupr::src#1 ]
[ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ]
[ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ]
[ ultoa_append::digit#2 ultoa_append::digit#1 ]
[ toupper::return#2 toupper::return#0 toupper::ch#0 ]
[ uctoa::digit#2 uctoa::digit#1 ]
[ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ]
[ uctoa::started#2 uctoa::started#4 ]
[ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ]
[ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
[ uctoa_append::digit#2 uctoa_append::digit#1 ]
Added variable conio_cursor_x to live range equivalence class [ conio_cursor_x ]
Added variable conio_cursor_y to live range equivalence class [ conio_cursor_y ]
Added variable conio_line_text to live range equivalence class [ conio_line_text ]
Added variable conio_line_color to live range equivalence class [ conio_line_color ]
Added variable cputc::c#0 to live range equivalence class [ cputc::c#0 ]
Added variable kbhit::return#2 to live range equivalence class [ kbhit::return#2 ]
Added variable main::$5 to live range equivalence class [ main::$5 ]
Added variable gotoxy::$7 to live range equivalence class [ gotoxy::$7 ]
Added variable gotoxy::$8 to live range equivalence class [ gotoxy::$8 ]
Added variable gotoxy::$9 to live range equivalence class [ gotoxy::$9 ]
Added variable gotoxy::line_offset#0 to live range equivalence class [ gotoxy::line_offset#0 ]
Added variable gotoxy::$5 to live range equivalence class [ gotoxy::$5 ]
Added variable gotoxy::$6 to live range equivalence class [ gotoxy::$6 ]
Added variable printf_str::c#1 to live range equivalence class [ printf_str::c#1 ]
Added variable legal::row#0 to live range equivalence class [ legal::row#0 ]
Added variable legal::column#0 to live range equivalence class [ legal::column#0 ]
Added variable legal::return#0 to live range equivalence class [ legal::return#0 ]
Added variable queens::$2 to live range equivalence class [ queens::$2 ]
Added variable kbhit::return#0 to live range equivalence class [ kbhit::return#0 ]
Added variable utoa::$11 to live range equivalence class [ utoa::$11 ]
Added variable utoa::buffer#3 to live range equivalence class [ utoa::buffer#3 ]
Added variable utoa::$10 to live range equivalence class [ utoa::$10 ]
Added variable utoa::digit_value#0 to live range equivalence class [ utoa::digit_value#0 ]
Added variable utoa_append::buffer#0 to live range equivalence class [ utoa_append::buffer#0 ]
Added variable utoa_append::sub#0 to live range equivalence class [ utoa_append::sub#0 ]
Added variable utoa_append::return#0 to live range equivalence class [ utoa_append::return#0 ]
Added variable strlen::return#2 to live range equivalence class [ strlen::return#2 ]
Added variable printf_number_buffer::$19 to live range equivalence class [ printf_number_buffer::$19 ]
Added variable legal::$0 to live range equivalence class [ legal::$0 ]
Added variable legal::diff1_a#0 to live range equivalence class [ legal::diff1_a#0 ]
Added variable ultoa::$11 to live range equivalence class [ ultoa::$11 ]
Added variable ultoa::buffer#3 to live range equivalence class [ ultoa::buffer#3 ]
Added variable ultoa::$10 to live range equivalence class [ ultoa::$10 ]
Added variable ultoa::digit_value#0 to live range equivalence class [ ultoa::digit_value#0 ]
Added variable ultoa_append::buffer#0 to live range equivalence class [ ultoa_append::buffer#0 ]
Added variable ultoa_append::sub#0 to live range equivalence class [ ultoa_append::sub#0 ]
Added variable ultoa_append::return#0 to live range equivalence class [ ultoa_append::return#0 ]
Added variable memcpy::src_end#0 to live range equivalence class [ memcpy::src_end#0 ]
Added variable memset::end#0 to live range equivalence class [ memset::end#0 ]
Added variable toupper::return#3 to live range equivalence class [ toupper::return#3 ]
Added variable strupr::$0 to live range equivalence class [ strupr::$0 ]
Added variable uctoa::buffer#3 to live range equivalence class [ uctoa::buffer#3 ]
Added variable uctoa::digit_value#0 to live range equivalence class [ uctoa::digit_value#0 ]
Added variable uctoa_append::buffer#0 to live range equivalence class [ uctoa_append::buffer#0 ]
Added variable uctoa_append::sub#0 to live range equivalence class [ uctoa_append::sub#0 ]
Added variable uctoa_append::return#0 to live range equivalence class [ uctoa_append::return#0 ]
Added variable printf_buffer to live range equivalence class [ printf_buffer ]
Complete equivalence classes
[ conio_c64_init::line#2 conio_c64_init::line#0 ]
[ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
[ clrscr::l#2 clrscr::l#1 ]
[ clrscr::line_text#5 clrscr::line_text#1 ]
[ clrscr::line_cols#5 clrscr::line_cols#1 ]
[ clrscr::c#2 clrscr::c#1 ]
[ printf_str::putc#12 printf_str::putc#0 ]
[ printf_str::s#11 printf_str::s#12 printf_str::s#0 ]
[ queens::row#10 queens::row#1 queens::row#2 ]
[ count#10 count#2 ]
[ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ]
[ utoa::digit#2 utoa::digit#1 ]
[ utoa::value#2 utoa::value#6 utoa::value#0 ]
[ utoa::started#2 utoa::started#4 ]
[ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ]
[ printf_number_buffer::format_min_length#3 ]
[ printf_number_buffer::format_justify_left#10 ]
[ printf_number_buffer::format_zero_padding#10 ]
[ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
[ printf_number_buffer::putc#10 ]
[ printf_number_buffer::format_upper_case#10 ]
[ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
[ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
[ legal::i#10 legal::i#1 ]
[ legal::return#4 ]
[ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ]
[ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ]
[ print::i#2 print::i#1 ]
[ print::i1#2 print::i1#1 ]
[ print::j#2 print::j#1 ]
[ ultoa::digit#2 ultoa::digit#1 ]
[ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ]
[ ultoa::started#2 ultoa::started#4 ]
[ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ]
[ memcpy::source#2 ]
[ memcpy::destination#2 ]
[ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
[ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
[ memset::str#3 ]
[ memset::c#4 ]
[ memset::dst#2 memset::dst#4 memset::dst#1 ]
[ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
[ utoa_append::digit#2 utoa_append::digit#1 ]
[ strlen::str#2 strlen::str#0 ]
[ strlen::len#2 strlen::len#1 ]
[ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
[ printf_padding::pad#5 ]
[ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ]
[ printf_padding::i#2 printf_padding::i#1 ]
[ strupr::src#2 strupr::src#1 ]
[ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ]
[ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ]
[ ultoa_append::digit#2 ultoa_append::digit#1 ]
[ toupper::return#2 toupper::return#0 toupper::ch#0 ]
[ uctoa::digit#2 uctoa::digit#1 ]
[ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ]
[ uctoa::started#2 uctoa::started#4 ]
[ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ]
[ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
[ uctoa_append::digit#2 uctoa_append::digit#1 ]
[ conio_cursor_x ]
[ conio_cursor_y ]
[ conio_line_text ]
[ conio_line_color ]
[ cputc::c#0 ]
[ kbhit::return#2 ]
[ main::$5 ]
[ gotoxy::$7 ]
[ gotoxy::$8 ]
[ gotoxy::$9 ]
[ gotoxy::line_offset#0 ]
[ gotoxy::$5 ]
[ gotoxy::$6 ]
[ printf_str::c#1 ]
[ legal::row#0 ]
[ legal::column#0 ]
[ legal::return#0 ]
[ queens::$2 ]
[ kbhit::return#0 ]
[ utoa::$11 ]
[ utoa::buffer#3 ]
[ utoa::$10 ]
[ utoa::digit_value#0 ]
[ utoa_append::buffer#0 ]
[ utoa_append::sub#0 ]
[ utoa_append::return#0 ]
[ strlen::return#2 ]
[ printf_number_buffer::$19 ]
[ legal::$0 ]
[ legal::diff1_a#0 ]
[ ultoa::$11 ]
[ ultoa::buffer#3 ]
[ ultoa::$10 ]
[ ultoa::digit_value#0 ]
[ ultoa_append::buffer#0 ]
[ ultoa_append::sub#0 ]
[ ultoa_append::return#0 ]
[ memcpy::src_end#0 ]
[ memset::end#0 ]
[ toupper::return#3 ]
[ strupr::$0 ]
[ uctoa::buffer#3 ]
[ uctoa::digit_value#0 ]
[ uctoa_append::buffer#0 ]
[ uctoa_append::sub#0 ]
[ uctoa_append::return#0 ]
[ printf_buffer ]
Allocated zp[1]:2 [ conio_c64_init::line#2 conio_c64_init::line#0 ]
Allocated zp[1]:3 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
Allocated zp[1]:4 [ clrscr::l#2 clrscr::l#1 ]
Allocated zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ]
Allocated zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ]
Allocated zp[1]:9 [ clrscr::c#2 clrscr::c#1 ]
Allocated zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 ]
Allocated zp[2]:12 [ printf_str::s#11 printf_str::s#12 printf_str::s#0 ]
Allocated zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ]
Allocated zp[4]:15 [ count#10 count#2 ]
Allocated zp[4]:19 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ]
Allocated zp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
Allocated zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 ]
Allocated zp[1]:26 [ utoa::started#2 utoa::started#4 ]
Allocated zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ]
Allocated zp[1]:29 [ printf_number_buffer::format_min_length#3 ]
Allocated zp[1]:30 [ printf_number_buffer::format_justify_left#10 ]
Allocated zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ]
Allocated zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
Allocated zp[2]:33 [ printf_number_buffer::putc#10 ]
Allocated zp[1]:35 [ printf_number_buffer::format_upper_case#10 ]
Allocated zp[1]:36 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
Allocated zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Allocated zp[1]:38 [ legal::i#10 legal::i#1 ]
Allocated zp[1]:39 [ legal::return#4 ]
Allocated zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ]
Allocated zp[1]:41 [ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ]
Allocated zp[1]:42 [ print::i#2 print::i#1 ]
Allocated zp[1]:43 [ print::i1#2 print::i1#1 ]
Allocated zp[1]:44 [ print::j#2 print::j#1 ]
Allocated zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ]
Allocated zp[4]:46 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ]
Allocated zp[1]:50 [ ultoa::started#2 ultoa::started#4 ]
Allocated zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ]
Allocated zp[2]:53 [ memcpy::source#2 ]
Allocated zp[2]:55 [ memcpy::destination#2 ]
Allocated zp[2]:57 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
Allocated zp[2]:59 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
Allocated zp[2]:61 [ memset::str#3 ]
Allocated zp[1]:63 [ memset::c#4 ]
Allocated zp[2]:64 [ memset::dst#2 memset::dst#4 memset::dst#1 ]
Allocated zp[2]:66 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ]
Allocated zp[1]:68 [ utoa_append::digit#2 utoa_append::digit#1 ]
Allocated zp[2]:69 [ strlen::str#2 strlen::str#0 ]
Allocated zp[2]:71 [ strlen::len#2 strlen::len#1 ]
Allocated zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Allocated zp[1]:74 [ printf_padding::pad#5 ]
Allocated zp[2]:75 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ]
Allocated zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ]
Allocated zp[2]:78 [ strupr::src#2 strupr::src#1 ]
Allocated zp[1]:80 [ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ]
Allocated zp[4]:81 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ]
Allocated zp[1]:85 [ ultoa_append::digit#2 ultoa_append::digit#1 ]
Allocated zp[1]:86 [ toupper::return#2 toupper::return#0 toupper::ch#0 ]
Allocated zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ]
Allocated zp[1]:88 [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ]
Allocated zp[1]:89 [ uctoa::started#2 uctoa::started#4 ]
Allocated zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ]
Allocated zp[1]:92 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
Allocated zp[1]:93 [ uctoa_append::digit#2 uctoa_append::digit#1 ]
Allocated zp[1]:94 [ conio_cursor_x ]
Allocated zp[1]:95 [ conio_cursor_y ]
Allocated zp[2]:96 [ conio_line_text ]
Allocated zp[2]:98 [ conio_line_color ]
Allocated zp[1]:100 [ cputc::c#0 ]
Allocated zp[1]:101 [ kbhit::return#2 ]
Allocated zp[1]:102 [ main::$5 ]
Allocated zp[2]:103 [ gotoxy::$7 ]
Allocated zp[2]:105 [ gotoxy::$8 ]
Allocated zp[2]:107 [ gotoxy::$9 ]
Allocated zp[2]:109 [ gotoxy::line_offset#0 ]
Allocated zp[2]:111 [ gotoxy::$5 ]
Allocated zp[2]:113 [ gotoxy::$6 ]
Allocated zp[1]:115 [ printf_str::c#1 ]
Allocated zp[1]:116 [ legal::row#0 ]
Allocated zp[1]:117 [ legal::column#0 ]
Allocated zp[1]:118 [ legal::return#0 ]
Allocated zp[1]:119 [ queens::$2 ]
Allocated zp[1]:120 [ kbhit::return#0 ]
Allocated zp[1]:121 [ utoa::$11 ]
Allocated zp[2]:122 [ utoa::buffer#3 ]
Allocated zp[1]:124 [ utoa::$10 ]
Allocated zp[2]:125 [ utoa::digit_value#0 ]
Allocated zp[2]:127 [ utoa_append::buffer#0 ]
Allocated zp[2]:129 [ utoa_append::sub#0 ]
Allocated zp[2]:131 [ utoa_append::return#0 ]
Allocated zp[2]:133 [ strlen::return#2 ]
Allocated zp[2]:135 [ printf_number_buffer::$19 ]
Allocated zp[1]:137 [ legal::$0 ]
Allocated zp[1]:138 [ legal::diff1_a#0 ]
Allocated zp[1]:139 [ ultoa::$11 ]
Allocated zp[2]:140 [ ultoa::buffer#3 ]
Allocated zp[1]:142 [ ultoa::$10 ]
Allocated zp[4]:143 [ ultoa::digit_value#0 ]
Allocated zp[2]:147 [ ultoa_append::buffer#0 ]
Allocated zp[4]:149 [ ultoa_append::sub#0 ]
Allocated zp[4]:153 [ ultoa_append::return#0 ]
Allocated zp[2]:157 [ memcpy::src_end#0 ]
Allocated zp[2]:159 [ memset::end#0 ]
Allocated zp[1]:161 [ toupper::return#3 ]
Allocated zp[1]:162 [ strupr::$0 ]
Allocated zp[2]:163 [ uctoa::buffer#3 ]
Allocated zp[1]:165 [ uctoa::digit_value#0 ]
Allocated zp[2]:166 [ uctoa_append::buffer#0 ]
Allocated zp[1]:168 [ uctoa_append::sub#0 ]
Allocated zp[1]:169 [ uctoa_append::return#0 ]
Allocated mem[12] [ printf_buffer ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [1] conio_cursor_x = 0 [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [2] conio_cursor_y = 0 [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [3] conio_line_text = DEFAULT_SCREEN [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [4] conio_line_color = COLORRAM [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { }  ) always clobbers reg byte a reg byte x 
Statement [18] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte y 
Statement [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a reg byte y 
Statement [21] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [39] printf_ulong::uvalue#0 = count#10 [ printf_ulong::uvalue#0 printf_buffer ] ( main:7 [ printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } }  ) always clobbers reg byte a 
Statement [53] conio_cursor_x = 0 [ gotoxy::y#5 ] ( gotoxy:14 [ gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::y#5 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:3 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ]
Statement [55] gotoxy::$7 = (unsigned int)gotoxy::y#5 [ gotoxy::$7 ] ( gotoxy:14 [ gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$7 ] { }  ) always clobbers reg byte a 
Statement [56] gotoxy::$8 = gotoxy::$7 << 2 [ gotoxy::$7 gotoxy::$8 ] ( gotoxy:14 [ gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$7 gotoxy::$8 ] { }  ) always clobbers reg byte a 
Statement [57] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ gotoxy::$9 ] ( gotoxy:14 [ gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$9 ] { }  ) always clobbers reg byte a 
Statement [58] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 ] { }  ) always clobbers reg byte a 
Statement [59] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:14 [ gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 gotoxy::$5 ] { }  ) always clobbers reg byte a 
Statement [60] conio_line_text = gotoxy::$5 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 ] { }  ) always clobbers reg byte a 
Statement [61] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ gotoxy::$6 ] ( gotoxy:14 [ gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$6 ] { }  ) always clobbers reg byte a 
Statement [62] conio_line_color = gotoxy::$6 [ ] ( gotoxy:14 [ ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 ] { }  ) always clobbers reg byte a 
Statement [64] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [65] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [66] conio_cursor_x = 0 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [73] conio_cursor_x = 0 [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [74] conio_cursor_y = 0 [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [75] conio_line_text = DEFAULT_SCREEN [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [76] conio_line_color = COLORRAM [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [80] clrscr::line_text#1 = clrscr::line_text#5 + $28 [ clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:4 [ clrscr::l#2 clrscr::l#1 ]
Statement [81] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 [ clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { }  ) always clobbers reg byte a 
Statement [83] clrscr::line_text#5[clrscr::c#2] = ' ' [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:9 [ clrscr::c#2 clrscr::c#1 ]
Statement [84] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { }  ) always clobbers reg byte a 
Statement [88] printf_str::c#1 = *printf_str::s#11 [ printf_str::s#11 printf_str::c#1 printf_buffer ] ( main:7::printf_str:30 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:32 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:38 [ count#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:42 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_uint:34::printf_number_buffer:99::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_str:196 [ queens::row#10 count#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_str:225 [ queens::row#10 count#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:229 [ queens::row#10 count#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:236 [ queens::row#10 count#2 print::i1#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:244 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:247 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte a as potential for zp[1]:30 [ printf_number_buffer::format_justify_left#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:30 [ printf_number_buffer::format_justify_left#10 ]
Removing always clobbered register reg byte a as potential for zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ]
Removing always clobbered register reg byte a as potential for zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:43 [ print::i1#2 print::i1#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:43 [ print::i1#2 print::i1#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:42 [ print::i#2 print::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:42 [ print::i#2 print::i#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:44 [ print::j#2 print::j#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:44 [ print::j#2 print::j#1 ]
Statement [93] callexecute *printf_str::putc#12  [ printf_str::s#0 printf_buffer ] ( main:7::printf_str:30 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_str:32 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_str:38 [ count#10 printf_str::s#0 printf_buffer ] { }  main:7::printf_str:42 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_uint:34::printf_number_buffer:99::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_str:196 [ queens::row#10 count#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_str:225 [ queens::row#10 count#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:229 [ queens::row#10 count#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:236 [ queens::row#10 count#2 print::i1#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:244 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:247 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#0 printf_buffer ] { }  ) always clobbers reg byte a reg byte x reg byte y 
Removing always clobbered register reg byte x as potential for zp[1]:30 [ printf_number_buffer::format_justify_left#10 ]
Removing always clobbered register reg byte x as potential for zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ]
Removing always clobbered register reg byte x as potential for zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ]
Removing always clobbered register reg byte x as potential for zp[1]:43 [ print::i1#2 print::i1#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:42 [ print::i#2 print::i#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:44 [ print::j#2 print::j#1 ]
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [96] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_uint:34 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [103] board[queens::row#10] = ++ board[queens::row#10] [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte x 
Statement [104] if(board[queens::row#10]==8+1) goto queens::@3 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a reg byte y 
Statement [106] legal::column#0 = board[queens::row#10] [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:116 [ legal::row#0 ]
Statement [111] if(queens::row#10==8) goto queens::@4 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a 
Statement [115] board[queens::row#10] = 0 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a reg byte y 
Statement [116] if(queens::row#10==1) goto queens::@return [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a 
Statement [120] *((char *)&printf_buffer) = 0 [ printf_buffer printf_ulong::uvalue#2 ] ( main:7::printf_ulong:40 [ printf_buffer printf_ulong::uvalue#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer printf_ulong::uvalue#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [121] ultoa::value#1 = printf_ulong::uvalue#2 [ printf_buffer ultoa::value#1 ] ( main:7::printf_ulong:40 [ printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [126] *kbhit::CIA1_PORT_A = 0 [ ] ( main:7::kbhit:44 [ ] { { kbhit::return#0 = kbhit::return#2 } }  ) always clobbers reg byte a 
Statement [127] kbhit::return#0 = ~ *kbhit::CIA1_PORT_B [ kbhit::return#0 ] ( main:7::kbhit:44 [ kbhit::return#0 ] { { kbhit::return#0 = kbhit::return#2 } }  ) always clobbers reg byte a 
Statement [129] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:68 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26::cscroll:68 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [138] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_color ] ( cputln:23::cscroll:68 [ conio_cursor_y conio_line_color ] { }  cputln:26::cscroll:68 [ conio_cursor_y conio_line_color ] { }  ) always clobbers reg byte a 
Statement [139] conio_line_color = conio_line_color - $28 [ conio_cursor_y ] ( cputln:23::cscroll:68 [ conio_cursor_y ] { }  cputln:26::cscroll:68 [ conio_cursor_y ] { }  ) always clobbers reg byte a 
Statement [146] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::buffer#11 ] { }  ) always clobbers reg byte a reg byte y 
Statement [147] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::buffer#3 ] { }  ) always clobbers reg byte a 
Statement [148] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer ] { }  ) always clobbers reg byte a reg byte y 
Statement [150] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:26 [ utoa::started#2 utoa::started#4 ]
Statement [151] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { }  ) always clobbers reg byte a 
Statement [153] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { }  ) always clobbers reg byte a 
Statement [156] utoa_append::buffer#0 = utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [157] utoa_append::value#0 = utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [158] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [160] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [161] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { }  ) always clobbers reg byte a 
Statement [167] strlen::return#2 = strlen::len#2 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:29 [ printf_number_buffer::format_min_length#3 ]
Removing always clobbered register reg byte a as potential for zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:35 [ printf_number_buffer::format_upper_case#10 ]
Statement [168] printf_number_buffer::$19 = strlen::return#2 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [173] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [174] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [177] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [178] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [179] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [180] printf_padding::putc#0 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [184] stackpush(char) = printf_number_buffer::buffer_sign#10 [ ] ( main:7::printf_uint:34::printf_number_buffer:99 [ ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [185] callexecute *printf_number_buffer::putc#10  [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a reg byte x reg byte y 
Removing always clobbered register reg byte x as potential for zp[1]:35 [ printf_number_buffer::format_upper_case#10 ]
Removing always clobbered register reg byte y as potential for zp[1]:35 [ printf_number_buffer::format_upper_case#10 ]
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [187] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [188] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [189] printf_padding::putc#1 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [192] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [195] printf_str::putc#0 = printf_number_buffer::putc#10 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [197] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [198] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [199] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [200] printf_padding::putc#2 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [210] if(board[legal::i#10]==legal::column#0) goto legal::@return [ legal::row#0 legal::column#0 legal::i#10 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:116 [ legal::row#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:117 [ legal::column#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:38 [ legal::i#10 legal::i#1 ]
Statement [213] legal::diff1_return#1 = legal::diff1_a#0 - legal::column#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#1 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#1 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [216] legal::diff2_return#1 = legal::i#10 - legal::row#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#1 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#1 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ]
Statement [220] legal::diff2_return#0 = legal::row#0 - legal::i#10 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#0 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [221] legal::diff1_return#0 = legal::column#0 - legal::diff1_a#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#0 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [226] printf_ulong::uvalue#1 = count#2 [ printf_buffer count#2 printf_ulong::uvalue#1 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 printf_ulong::uvalue#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } }  ) always clobbers reg byte a 
Statement [231] if(print::i#2<8+1) goto print::@2 [ printf_buffer count#2 print::i#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i#2 ] { }  ) always clobbers reg byte a 
Statement [233] if(print::i1#2<8+1) goto print::@4 [ printf_buffer count#2 print::i1#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 ] { }  ) always clobbers reg byte a 
Statement [240] if(print::j#2<8+1) goto print::@6 [ printf_buffer count#2 print::i1#2 print::j#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 print::j#2 ] { }  ) always clobbers reg byte a 
Statement [242] if(board[print::i1#2]==print::j#2) goto print::@8 [ printf_buffer count#2 print::i1#2 print::j#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 print::j#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [254] ultoa::$11 = (char)ultoa::value#2 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [255] *ultoa::buffer#11 = DIGITS[ultoa::$11] [ printf_buffer ultoa::buffer#11 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [256] ultoa::buffer#3 = ++ ultoa::buffer#11 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [257] *ultoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [259] ultoa::$10 = ultoa::digit#2 << 2 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:50 [ ultoa::started#2 ultoa::started#4 ]
Statement [260] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [262] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [265] ultoa_append::buffer#0 = ultoa::buffer#11 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [266] ultoa_append::value#0 = ultoa::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [267] ultoa_append::sub#0 = ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [269] ultoa_append::return#0 = ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [270] ultoa::value#0 = ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [273] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  ) always clobbers reg byte a 
Statement [274] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  ) always clobbers reg byte a 
Statement [275] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  ) always clobbers reg byte a 
Statement [277] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  ) always clobbers reg byte a 
Statement [279] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [283] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:63 [ memset::c#4 ]
Statement [284] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  ) always clobbers reg byte a 
Statement [286] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [288] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:63 [ memset::c#4 ]
Statement [292] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:68 [ utoa_append::digit#2 utoa_append::digit#1 ]
Statement [293] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
Statement [296] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [299] if(0!=*strlen::str#2) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strlen:166 [ printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::printf_ulong:40::printf_number_buffer:124::strlen:166 [ printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strlen:166 [ queens::row#10 count#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strlen:166 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strlen:166 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:29 [ printf_number_buffer::format_min_length#3 ]
Removing always clobbered register reg byte y as potential for zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
Statement [308] callexecute *printf_padding::putc#5  [ printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a reg byte x reg byte y 
Removing always clobbered register reg byte x as potential for zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Removing always clobbered register reg byte x as potential for zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:74 [ printf_padding::pad#5 ]
Removing always clobbered register reg byte x as potential for zp[1]:74 [ printf_padding::pad#5 ]
Removing always clobbered register reg byte y as potential for zp[1]:74 [ printf_padding::pad#5 ]
Removing always clobbered register reg byte a as potential for zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ]
Removing always clobbered register reg byte x as potential for zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ]
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [313] if(0!=*strupr::src#2) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a reg byte y 
Statement [315] toupper::ch#0 = *strupr::src#2 [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  ) always clobbers reg byte a reg byte y 
Statement [319] *strupr::src#2 = strupr::$0 [ strupr::src#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte y 
Statement [322] *((char *)&printf_buffer) = 0 [ printf_buffer printf_uchar::uvalue#2 ] ( main:7::queens:36::print:114::printf_uchar:238 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_uchar::uvalue#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249 [ queens::row#10 count#2 print::i#2 printf_buffer printf_uchar::uvalue#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:80 [ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ]
Statement [325] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#2 ] ( main:7::queens:36::print:114::printf_uchar:238 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [330] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:85 [ ultoa_append::digit#2 ultoa_append::digit#1 ]
Statement [331] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] [ ultoa_append::value#2 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ]
Statement [334] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [337] toupper::return#0 = toupper::ch#0 + 'A'-'a' [ toupper::return#0 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194::toupper:316 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194::toupper:316 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194::toupper:316 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194::toupper:316 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194::toupper:316 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  ) always clobbers reg byte a 
Statement [343] *uctoa::buffer#11 = DIGITS[uctoa::value#2] [ printf_buffer uctoa::buffer#11 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::buffer#11 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::buffer#11 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [344] uctoa::buffer#3 = ++ uctoa::buffer#11 [ printf_buffer uctoa::buffer#3 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::buffer#3 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::buffer#3 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a 
Statement [345] *uctoa::buffer#3 = 0 [ printf_buffer ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [352] uctoa_append::buffer#0 = uctoa::buffer#11 [ printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:88 [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:165 [ uctoa::digit_value#0 ]
Statement [362] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] [ uctoa_append::value#2 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::value#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::value#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:92 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:92 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
Statement [365] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 [ uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:168 [ uctoa_append::sub#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:93 [ uctoa_append::digit#2 uctoa_append::digit#1 ]
Statement [1] conio_cursor_x = 0 [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [2] conio_cursor_y = 0 [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [3] conio_line_text = DEFAULT_SCREEN [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [4] conio_line_color = COLORRAM [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { }  ) always clobbers reg byte a reg byte x 
Statement [18] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte y 
Statement [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a reg byte y 
Statement [21] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [39] printf_ulong::uvalue#0 = count#10 [ printf_ulong::uvalue#0 printf_buffer ] ( main:7 [ printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } }  ) always clobbers reg byte a 
Statement [53] conio_cursor_x = 0 [ gotoxy::y#5 ] ( gotoxy:14 [ gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::y#5 ] { }  ) always clobbers reg byte a 
Statement [55] gotoxy::$7 = (unsigned int)gotoxy::y#5 [ gotoxy::$7 ] ( gotoxy:14 [ gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$7 ] { }  ) always clobbers reg byte a 
Statement [56] gotoxy::$8 = gotoxy::$7 << 2 [ gotoxy::$7 gotoxy::$8 ] ( gotoxy:14 [ gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$7 gotoxy::$8 ] { }  ) always clobbers reg byte a 
Statement [57] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ gotoxy::$9 ] ( gotoxy:14 [ gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$9 ] { }  ) always clobbers reg byte a 
Statement [58] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 ] { }  ) always clobbers reg byte a 
Statement [59] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:14 [ gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 gotoxy::$5 ] { }  ) always clobbers reg byte a 
Statement [60] conio_line_text = gotoxy::$5 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 ] { }  ) always clobbers reg byte a 
Statement [61] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ gotoxy::$6 ] ( gotoxy:14 [ gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$6 ] { }  ) always clobbers reg byte a 
Statement [62] conio_line_color = gotoxy::$6 [ ] ( gotoxy:14 [ ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 ] { }  ) always clobbers reg byte a 
Statement [64] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [65] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [66] conio_cursor_x = 0 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [73] conio_cursor_x = 0 [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [74] conio_cursor_y = 0 [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [75] conio_line_text = DEFAULT_SCREEN [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [76] conio_line_color = COLORRAM [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [80] clrscr::line_text#1 = clrscr::line_text#5 + $28 [ clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { }  ) always clobbers reg byte a 
Statement [81] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 [ clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { }  ) always clobbers reg byte a 
Statement [83] clrscr::line_text#5[clrscr::c#2] = ' ' [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { }  ) always clobbers reg byte a 
Statement [84] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { }  ) always clobbers reg byte a 
Statement [88] printf_str::c#1 = *printf_str::s#11 [ printf_str::s#11 printf_str::c#1 printf_buffer ] ( main:7::printf_str:30 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:32 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:38 [ count#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:42 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_uint:34::printf_number_buffer:99::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_str:196 [ queens::row#10 count#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_str:225 [ queens::row#10 count#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:229 [ queens::row#10 count#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:236 [ queens::row#10 count#2 print::i1#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:244 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:247 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  ) always clobbers reg byte a reg byte y 
Statement [93] callexecute *printf_str::putc#12  [ printf_str::s#0 printf_buffer ] ( main:7::printf_str:30 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_str:32 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_str:38 [ count#10 printf_str::s#0 printf_buffer ] { }  main:7::printf_str:42 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_uint:34::printf_number_buffer:99::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_str:196 [ queens::row#10 count#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_str:225 [ queens::row#10 count#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:229 [ queens::row#10 count#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:236 [ queens::row#10 count#2 print::i1#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:244 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:247 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#0 printf_buffer ] { }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [96] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_uint:34 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [98] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#1 ] ( main:7::printf_uint:34 [ printf_buffer printf_number_buffer::buffer_sign#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  ) always clobbers reg byte a 
Statement [103] board[queens::row#10] = ++ board[queens::row#10] [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte x 
Statement [104] if(board[queens::row#10]==8+1) goto queens::@3 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a reg byte y 
Statement [106] legal::column#0 = board[queens::row#10] [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte y 
Statement [111] if(queens::row#10==8) goto queens::@4 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a 
Statement [115] board[queens::row#10] = 0 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a reg byte y 
Statement [116] if(queens::row#10==1) goto queens::@return [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a 
Statement [120] *((char *)&printf_buffer) = 0 [ printf_buffer printf_ulong::uvalue#2 ] ( main:7::printf_ulong:40 [ printf_buffer printf_ulong::uvalue#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer printf_ulong::uvalue#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [121] ultoa::value#1 = printf_ulong::uvalue#2 [ printf_buffer ultoa::value#1 ] ( main:7::printf_ulong:40 [ printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [123] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#0 ] ( main:7::printf_ulong:40 [ printf_buffer printf_number_buffer::buffer_sign#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer printf_number_buffer::buffer_sign#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  ) always clobbers reg byte a 
Statement [126] *kbhit::CIA1_PORT_A = 0 [ ] ( main:7::kbhit:44 [ ] { { kbhit::return#0 = kbhit::return#2 } }  ) always clobbers reg byte a 
Statement [127] kbhit::return#0 = ~ *kbhit::CIA1_PORT_B [ kbhit::return#0 ] ( main:7::kbhit:44 [ kbhit::return#0 ] { { kbhit::return#0 = kbhit::return#2 } }  ) always clobbers reg byte a 
Statement [129] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:68 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26::cscroll:68 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [138] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_color ] ( cputln:23::cscroll:68 [ conio_cursor_y conio_line_color ] { }  cputln:26::cscroll:68 [ conio_cursor_y conio_line_color ] { }  ) always clobbers reg byte a 
Statement [139] conio_line_color = conio_line_color - $28 [ conio_cursor_y ] ( cputln:23::cscroll:68 [ conio_cursor_y ] { }  cputln:26::cscroll:68 [ conio_cursor_y ] { }  ) always clobbers reg byte a 
Statement [146] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::buffer#11 ] { }  ) always clobbers reg byte a reg byte y 
Statement [147] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::buffer#3 ] { }  ) always clobbers reg byte a 
Statement [148] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer ] { }  ) always clobbers reg byte a reg byte y 
Statement [150] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { }  ) always clobbers reg byte a 
Statement [151] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { }  ) always clobbers reg byte a 
Statement [153] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { }  ) always clobbers reg byte a 
Statement [156] utoa_append::buffer#0 = utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [157] utoa_append::value#0 = utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [158] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [160] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [161] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { }  ) always clobbers reg byte a 
Statement [167] strlen::return#2 = strlen::len#2 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  ) always clobbers reg byte a 
Statement [168] printf_number_buffer::$19 = strlen::return#2 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [170] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:36 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
Statement [173] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [174] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [177] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [178] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [179] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [180] printf_padding::putc#0 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [181] printf_padding::length#0 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [183] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [184] stackpush(char) = printf_number_buffer::buffer_sign#10 [ ] ( main:7::printf_uint:34::printf_number_buffer:99 [ ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [185] callexecute *printf_number_buffer::putc#10  [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [187] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [188] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [189] printf_padding::putc#1 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [190] printf_padding::length#1 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [192] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [195] printf_str::putc#0 = printf_number_buffer::putc#10 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [197] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [198] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [199] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [200] printf_padding::putc#2 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [201] printf_padding::length#2 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [210] if(board[legal::i#10]==legal::column#0) goto legal::@return [ legal::row#0 legal::column#0 legal::i#10 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [213] legal::diff1_return#1 = legal::diff1_a#0 - legal::column#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#1 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#1 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [216] legal::diff2_return#1 = legal::i#10 - legal::row#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#1 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#1 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [220] legal::diff2_return#0 = legal::row#0 - legal::i#10 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#0 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [221] legal::diff1_return#0 = legal::column#0 - legal::diff1_a#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#0 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [226] printf_ulong::uvalue#1 = count#2 [ printf_buffer count#2 printf_ulong::uvalue#1 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 printf_ulong::uvalue#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } }  ) always clobbers reg byte a 
Statement [231] if(print::i#2<8+1) goto print::@2 [ printf_buffer count#2 print::i#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i#2 ] { }  ) always clobbers reg byte a 
Statement [233] if(print::i1#2<8+1) goto print::@4 [ printf_buffer count#2 print::i1#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 ] { }  ) always clobbers reg byte a 
Statement [240] if(print::j#2<8+1) goto print::@6 [ printf_buffer count#2 print::i1#2 print::j#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 print::j#2 ] { }  ) always clobbers reg byte a 
Statement [242] if(board[print::i1#2]==print::j#2) goto print::@8 [ printf_buffer count#2 print::i1#2 print::j#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 print::j#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [254] ultoa::$11 = (char)ultoa::value#2 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [255] *ultoa::buffer#11 = DIGITS[ultoa::$11] [ printf_buffer ultoa::buffer#11 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [256] ultoa::buffer#3 = ++ ultoa::buffer#11 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [257] *ultoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [259] ultoa::$10 = ultoa::digit#2 << 2 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [260] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [262] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [265] ultoa_append::buffer#0 = ultoa::buffer#11 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [266] ultoa_append::value#0 = ultoa::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [267] ultoa_append::sub#0 = ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [269] ultoa_append::return#0 = ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [270] ultoa::value#0 = ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [273] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  ) always clobbers reg byte a 
Statement [274] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  ) always clobbers reg byte a 
Statement [275] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  ) always clobbers reg byte a 
Statement [277] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  ) always clobbers reg byte a 
Statement [279] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [283] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  ) always clobbers reg byte a 
Statement [284] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  ) always clobbers reg byte a 
Statement [286] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [288] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [292] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [293] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Statement [296] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [299] if(0!=*strlen::str#2) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strlen:166 [ printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::printf_ulong:40::printf_number_buffer:124::strlen:166 [ printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strlen:166 [ queens::row#10 count#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strlen:166 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strlen:166 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  ) always clobbers reg byte a reg byte y 
Statement [305] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 [ printf_padding::pad#5 ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer printf_padding::pad#5 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer printf_padding::pad#5 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::pad#5 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::pad#5 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [307] stackpush(char) = printf_padding::pad#5 [ ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [308] callexecute *printf_padding::putc#5  [ printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [313] if(0!=*strupr::src#2) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a reg byte y 
Statement [315] toupper::ch#0 = *strupr::src#2 [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  ) always clobbers reg byte a reg byte y 
Statement [319] *strupr::src#2 = strupr::$0 [ strupr::src#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte y 
Statement [322] *((char *)&printf_buffer) = 0 [ printf_buffer printf_uchar::uvalue#2 ] ( main:7::queens:36::print:114::printf_uchar:238 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_uchar::uvalue#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249 [ queens::row#10 count#2 print::i#2 printf_buffer printf_uchar::uvalue#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a 
Statement [325] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#2 ] ( main:7::queens:36::print:114::printf_uchar:238 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [330] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [331] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] [ ultoa_append::value#2 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Statement [334] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [337] toupper::return#0 = toupper::ch#0 + 'A'-'a' [ toupper::return#0 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194::toupper:316 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194::toupper:316 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194::toupper:316 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194::toupper:316 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194::toupper:316 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  ) always clobbers reg byte a 
Statement [343] *uctoa::buffer#11 = DIGITS[uctoa::value#2] [ printf_buffer uctoa::buffer#11 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::buffer#11 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::buffer#11 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [344] uctoa::buffer#3 = ++ uctoa::buffer#11 [ printf_buffer uctoa::buffer#3 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::buffer#3 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::buffer#3 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a 
Statement [345] *uctoa::buffer#3 = 0 [ printf_buffer ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [352] uctoa_append::buffer#0 = uctoa::buffer#11 [ printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [362] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] [ uctoa_append::value#2 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::value#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::value#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Statement [365] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 [ uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [1] conio_cursor_x = 0 [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [2] conio_cursor_y = 0 [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [3] conio_line_text = DEFAULT_SCREEN [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [4] conio_line_color = COLORRAM [ printf_buffer ] (  [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color cputc::c#0 ] { }  ) always clobbers reg byte a reg byte x 
Statement [18] conio_line_text[conio_cursor_x] = cputc::c#0 [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte y 
Statement [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_x conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a reg byte y 
Statement [21] if(conio_cursor_x!=$28) goto cputc::@return [ conio_cursor_y conio_line_text conio_line_color ] (  [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [39] printf_ulong::uvalue#0 = count#10 [ printf_ulong::uvalue#0 printf_buffer ] ( main:7 [ printf_ulong::uvalue#0 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } }  ) always clobbers reg byte a 
Statement [53] conio_cursor_x = 0 [ gotoxy::y#5 ] ( gotoxy:14 [ gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::y#5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::y#5 ] { }  ) always clobbers reg byte a 
Statement [55] gotoxy::$7 = (unsigned int)gotoxy::y#5 [ gotoxy::$7 ] ( gotoxy:14 [ gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$7 ] { }  ) always clobbers reg byte a 
Statement [56] gotoxy::$8 = gotoxy::$7 << 2 [ gotoxy::$7 gotoxy::$8 ] ( gotoxy:14 [ gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$7 gotoxy::$8 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$7 gotoxy::$8 ] { }  ) always clobbers reg byte a 
Statement [57] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 [ gotoxy::$9 ] ( gotoxy:14 [ gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$9 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$9 ] { }  ) always clobbers reg byte a 
Statement [58] gotoxy::line_offset#0 = gotoxy::$9 << 3 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 ] { }  ) always clobbers reg byte a 
Statement [59] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 [ gotoxy::line_offset#0 gotoxy::$5 ] ( gotoxy:14 [ gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 gotoxy::$5 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 gotoxy::$5 ] { }  ) always clobbers reg byte a 
Statement [60] conio_line_text = gotoxy::$5 [ gotoxy::line_offset#0 ] ( gotoxy:14 [ gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::line_offset#0 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::line_offset#0 ] { }  ) always clobbers reg byte a 
Statement [61] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 [ gotoxy::$6 ] ( gotoxy:14 [ gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer gotoxy::$6 ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 gotoxy::$6 ] { }  ) always clobbers reg byte a 
Statement [62] conio_line_color = gotoxy::$6 [ ] ( gotoxy:14 [ ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  conio_c64_init:5::gotoxy:14 [ printf_buffer ] { { gotoxy::y#2 = gotoxy::y#4 conio_c64_init::line#2 } }  main:7::queens:36::print:114::gotoxy:223 [ queens::row#10 printf_buffer count#2 ] { }  ) always clobbers reg byte a 
Statement [64] conio_line_text = conio_line_text + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [65] conio_line_color = conio_line_color + $28 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [66] conio_cursor_x = 0 [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [73] conio_cursor_x = 0 [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [74] conio_cursor_y = 0 [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [75] conio_line_text = DEFAULT_SCREEN [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [76] conio_line_color = COLORRAM [ ] ( main:7::clrscr:28 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [80] clrscr::line_text#1 = clrscr::line_text#5 + $28 [ clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_cols#5 clrscr::line_text#1 ] { }  ) always clobbers reg byte a 
Statement [81] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 [ clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#1 clrscr::line_cols#1 ] { }  ) always clobbers reg byte a 
Statement [83] clrscr::line_text#5[clrscr::c#2] = ' ' [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { }  ) always clobbers reg byte a 
Statement [84] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE [ clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] ( main:7::clrscr:28 [ printf_buffer clrscr::l#2 clrscr::line_text#5 clrscr::line_cols#5 clrscr::c#2 ] { }  ) always clobbers reg byte a 
Statement [88] printf_str::c#1 = *printf_str::s#11 [ printf_str::s#11 printf_str::c#1 printf_buffer ] ( main:7::printf_str:30 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:32 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:38 [ count#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_str:42 [ printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::printf_uint:34::printf_number_buffer:99::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_str:196 [ queens::row#10 count#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#11 printf_str::c#1 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_str:225 [ queens::row#10 count#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:229 [ queens::row#10 count#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:236 [ queens::row#10 count#2 print::i1#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:244 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:247 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#11 printf_str::c#1 printf_buffer ] { }  ) always clobbers reg byte a reg byte y 
Statement [93] callexecute *printf_str::putc#12  [ printf_str::s#0 printf_buffer ] ( main:7::printf_str:30 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_str:32 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_str:38 [ count#10 printf_str::s#0 printf_buffer ] { }  main:7::printf_str:42 [ printf_str::s#0 printf_buffer ] { }  main:7::printf_uint:34::printf_number_buffer:99::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_str:196 [ printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_str:196 [ queens::row#10 count#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_str:196 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 printf_str::s#0 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_str:225 [ queens::row#10 count#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:229 [ queens::row#10 count#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:236 [ queens::row#10 count#2 print::i1#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:244 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#0 printf_buffer ] { }  main:7::queens:36::print:114::printf_str:247 [ queens::row#10 count#2 print::i1#2 print::j#2 printf_str::s#0 printf_buffer ] { }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [96] *((char *)&printf_buffer) = 0 [ printf_buffer ] ( main:7::printf_uint:34 [ printf_buffer ] { }  ) always clobbers reg byte a 
Statement [98] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#1 ] ( main:7::printf_uint:34 [ printf_buffer printf_number_buffer::buffer_sign#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  ) always clobbers reg byte a 
Statement [103] board[queens::row#10] = ++ board[queens::row#10] [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte x 
Statement [104] if(board[queens::row#10]==8+1) goto queens::@3 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a reg byte y 
Statement [106] legal::column#0 = board[queens::row#10] [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte y 
Statement [111] if(queens::row#10==8) goto queens::@4 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a 
Statement [115] board[queens::row#10] = 0 [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a reg byte y 
Statement [116] if(queens::row#10==1) goto queens::@return [ count#10 printf_buffer queens::row#10 ] ( main:7::queens:36 [ count#10 printf_buffer queens::row#10 ] { }  ) always clobbers reg byte a 
Statement [120] *((char *)&printf_buffer) = 0 [ printf_buffer printf_ulong::uvalue#2 ] ( main:7::printf_ulong:40 [ printf_buffer printf_ulong::uvalue#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer printf_ulong::uvalue#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [121] ultoa::value#1 = printf_ulong::uvalue#2 [ printf_buffer ultoa::value#1 ] ( main:7::printf_ulong:40 [ printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer ultoa::value#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [123] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#0 ] ( main:7::printf_ulong:40 [ printf_buffer printf_number_buffer::buffer_sign#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227 [ queens::row#10 count#2 printf_buffer printf_number_buffer::buffer_sign#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  ) always clobbers reg byte a 
Statement [126] *kbhit::CIA1_PORT_A = 0 [ ] ( main:7::kbhit:44 [ ] { { kbhit::return#0 = kbhit::return#2 } }  ) always clobbers reg byte a 
Statement [127] kbhit::return#0 = ~ *kbhit::CIA1_PORT_B [ kbhit::return#0 ] ( main:7::kbhit:44 [ kbhit::return#0 ] { { kbhit::return#0 = kbhit::return#2 } }  ) always clobbers reg byte a 
Statement [129] if(conio_cursor_y!=$19) goto cscroll::@return [ conio_cursor_y conio_line_text conio_line_color ] ( cputln:23::cscroll:68 [ conio_cursor_y conio_line_text conio_line_color ] { }  cputln:26::cscroll:68 [ conio_cursor_y conio_line_text conio_line_color ] { }  ) always clobbers reg byte a 
Statement [138] conio_line_text = conio_line_text - $28 [ conio_cursor_y conio_line_color ] ( cputln:23::cscroll:68 [ conio_cursor_y conio_line_color ] { }  cputln:26::cscroll:68 [ conio_cursor_y conio_line_color ] { }  ) always clobbers reg byte a 
Statement [139] conio_line_color = conio_line_color - $28 [ conio_cursor_y ] ( cputln:23::cscroll:68 [ conio_cursor_y ] { }  cputln:26::cscroll:68 [ conio_cursor_y ] { }  ) always clobbers reg byte a 
Statement [146] *utoa::buffer#11 = DIGITS[utoa::$11] [ printf_buffer utoa::buffer#11 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::buffer#11 ] { }  ) always clobbers reg byte a reg byte y 
Statement [147] utoa::buffer#3 = ++ utoa::buffer#11 [ printf_buffer utoa::buffer#3 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::buffer#3 ] { }  ) always clobbers reg byte a 
Statement [148] *utoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer ] { }  ) always clobbers reg byte a reg byte y 
Statement [150] utoa::$10 = utoa::digit#2 << 1 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::$10 ] { }  ) always clobbers reg byte a 
Statement [151] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { }  ) always clobbers reg byte a 
Statement [153] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::started#2 utoa::buffer#11 utoa::digit_value#0 ] { }  ) always clobbers reg byte a 
Statement [156] utoa_append::buffer#0 = utoa::buffer#11 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::value#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [157] utoa_append::value#0 = utoa::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::digit_value#0 utoa_append::buffer#0 utoa_append::value#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [158] utoa_append::sub#0 = utoa::digit_value#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::value#0 utoa_append::sub#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [160] utoa_append::return#0 = utoa_append::value#2 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::return#0 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [161] utoa::value#0 = utoa_append::return#0 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] ( main:7::printf_uint:34::utoa:97 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa::value#0 ] { }  ) always clobbers reg byte a 
Statement [167] strlen::return#2 = strlen::len#2 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 strlen::return#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  ) always clobbers reg byte a 
Statement [168] printf_number_buffer::$19 = strlen::return#2 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::$19 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [170] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::len#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [173] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [174] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [177] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [178] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [179] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [180] printf_padding::putc#0 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [181] printf_padding::length#0 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#0 printf_padding::length#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [183] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [184] stackpush(char) = printf_number_buffer::buffer_sign#10 [ ] ( main:7::printf_uint:34::printf_number_buffer:99 [ ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [185] callexecute *printf_number_buffer::putc#10  [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [187] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [188] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [189] printf_padding::putc#1 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [190] printf_padding::length#1 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::putc#1 printf_padding::length#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [192] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [195] printf_str::putc#0 = printf_number_buffer::putc#10 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_str::putc#0 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_str::putc#0 = printf_str::putc#12 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [197] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [198] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [199] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::putc#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [200] printf_padding::putc#2 = printf_number_buffer::putc#10 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::padding#10 printf_padding::putc#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [201] printf_padding::length#2 = (char)printf_number_buffer::padding#10 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] ( main:7::printf_uint:34::printf_number_buffer:99 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124 [ printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124 [ queens::row#10 count#2 printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::putc#2 printf_padding::length#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [210] if(board[legal::i#10]==legal::column#0) goto legal::@return [ legal::row#0 legal::column#0 legal::i#10 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [213] legal::diff1_return#1 = legal::diff1_a#0 - legal::column#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#1 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#1 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [216] legal::diff2_return#1 = legal::i#10 - legal::row#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#1 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#1 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [220] legal::diff2_return#0 = legal::row#0 - legal::i#10 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#0 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#2 legal::diff2_return#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [221] legal::diff1_return#0 = legal::column#0 - legal::diff1_a#0 [ legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#0 ] ( main:7::queens:36::legal:107 [ count#10 printf_buffer queens::row#10 legal::row#0 legal::column#0 legal::i#10 legal::diff1_return#0 ] { { legal::row#0 = queens::row#10 } { legal::return#0 = legal::return#4 } }  ) always clobbers reg byte a 
Statement [226] printf_ulong::uvalue#1 = count#2 [ printf_buffer count#2 printf_ulong::uvalue#1 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 printf_ulong::uvalue#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } }  ) always clobbers reg byte a 
Statement [231] if(print::i#2<8+1) goto print::@2 [ printf_buffer count#2 print::i#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i#2 ] { }  ) always clobbers reg byte a 
Statement [233] if(print::i1#2<8+1) goto print::@4 [ printf_buffer count#2 print::i1#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 ] { }  ) always clobbers reg byte a 
Statement [240] if(print::j#2<8+1) goto print::@6 [ printf_buffer count#2 print::i1#2 print::j#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 print::j#2 ] { }  ) always clobbers reg byte a 
Statement [242] if(board[print::i1#2]==print::j#2) goto print::@8 [ printf_buffer count#2 print::i1#2 print::j#2 ] ( main:7::queens:36::print:114 [ queens::row#10 printf_buffer count#2 print::i1#2 print::j#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [254] ultoa::$11 = (char)ultoa::value#2 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#11 ultoa::$11 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [255] *ultoa::buffer#11 = DIGITS[ultoa::$11] [ printf_buffer ultoa::buffer#11 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#11 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [256] ultoa::buffer#3 = ++ ultoa::buffer#11 [ printf_buffer ultoa::buffer#3 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::buffer#3 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [257] *ultoa::buffer#3 = 0 [ printf_buffer ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [259] ultoa::$10 = ultoa::digit#2 << 2 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::$10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [260] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [262] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::started#2 ultoa::buffer#11 ultoa::digit_value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [265] ultoa_append::buffer#0 = ultoa::buffer#11 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::value#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [266] ultoa_append::value#0 = ultoa::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::digit_value#0 ultoa_append::buffer#0 ultoa_append::value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [267] ultoa_append::sub#0 = ultoa::digit_value#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::value#0 ultoa_append::sub#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [269] ultoa_append::return#0 = ultoa_append::value#2 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::return#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [270] ultoa::value#0 = ultoa_append::return#0 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] ( main:7::printf_ulong:40::ultoa:122 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa::value#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } }  ) always clobbers reg byte a 
Statement [273] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 [ memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::source#2 memcpy::destination#2 memcpy::src_end#0 ] { }  ) always clobbers reg byte a 
Statement [274] memcpy::src#4 = (char *)memcpy::source#2 [ memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::destination#2 memcpy::src_end#0 memcpy::src#4 ] { }  ) always clobbers reg byte a 
Statement [275] memcpy::dst#4 = (char *)memcpy::destination#2 [ memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#4 memcpy::dst#4 ] { }  ) always clobbers reg byte a 
Statement [277] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  ) always clobbers reg byte a 
Statement [279] *memcpy::dst#2 = *memcpy::src#2 [ memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] ( cputln:23::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:131 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:23::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  cputln:26::cscroll:68::memcpy:133 [ conio_cursor_y conio_line_text conio_line_color memcpy::src_end#0 memcpy::src#2 memcpy::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [283] memset::end#0 = (char *)memset::str#3 + $28 [ memset::str#3 memset::c#4 memset::end#0 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::str#3 memset::c#4 memset::end#0 ] { }  ) always clobbers reg byte a 
Statement [284] memset::dst#4 = (char *)memset::str#3 [ memset::c#4 memset::end#0 memset::dst#4 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#4 ] { }  ) always clobbers reg byte a 
Statement [286] if(memset::dst#2!=memset::end#0) goto memset::@3 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [288] *memset::dst#2 = memset::c#4 [ memset::c#4 memset::end#0 memset::dst#2 ] ( cputln:23::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:135 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:23::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  cputln:26::cscroll:68::memset:137 [ conio_cursor_y conio_line_text conio_line_color memset::c#4 memset::end#0 memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [292] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#2 utoa_append::digit#2 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [293] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] [ utoa_append::value#2 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::value#2 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Statement [296] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 [ utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] ( main:7::printf_uint:34::utoa:97::utoa_append:159 [ printf_buffer utoa::digit#2 utoa::buffer#11 utoa_append::buffer#0 utoa_append::sub#0 utoa_append::value#1 utoa_append::digit#1 ] { { utoa_append::buffer#0 = utoa::buffer#11 } { utoa_append::value#0 = utoa::value#2 } { utoa_append::sub#0 = utoa::digit_value#0 } { utoa_append::return#0 = utoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [299] if(0!=*strlen::str#2) goto strlen::@2 [ printf_buffer strlen::len#2 strlen::str#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strlen:166 [ printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::printf_ulong:40::printf_number_buffer:124::strlen:166 [ printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strlen:166 [ queens::row#10 count#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strlen:166 [ queens::row#10 count#2 print::i1#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strlen:166 [ queens::row#10 count#2 print::i#2 printf_number_buffer::format_min_length#3 printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_buffer strlen::len#2 strlen::str#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { strlen::return#2 = strlen::len#2 } }  ) always clobbers reg byte a reg byte y 
Statement [305] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 [ printf_padding::pad#5 ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::pad#5 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer printf_padding::pad#5 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer printf_padding::pad#5 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer printf_padding::pad#5 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::pad#5 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::pad#5 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [307] stackpush(char) = printf_padding::pad#5 [ ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a 
Statement [308] callexecute *printf_padding::putc#5  [ printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:182 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:182 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:182 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::buffer_sign#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#0 = printf_padding::length#4 } { printf_padding::putc#0 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:191 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:191 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:191 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::format_upper_case#10 printf_number_buffer::padding#10 printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#1 = printf_padding::length#4 } { printf_padding::putc#1 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_uint:34::printf_number_buffer:99::printf_padding:202 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::printf_padding:202 [ printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::printf_padding:202 [ queens::row#10 count#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::printf_padding:202 [ queens::row#10 count#2 print::i#2 printf_buffer printf_padding::length#4 printf_padding::pad#5 printf_padding::i#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { printf_padding::length#2 = printf_padding::length#4 } { printf_padding::putc#2 = printf_padding::putc#5 printf_number_buffer::putc#10 } }  ) always clobbers reg byte a reg byte x reg byte y 
Statement sideeffect stackpullbytes(1) always clobbers reg byte a 
Statement [313] if(0!=*strupr::src#2) goto strupr::@2 [ strupr::src#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a reg byte y 
Statement [315] toupper::ch#0 = *strupr::src#2 [ strupr::src#2 toupper::ch#0 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::ch#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  ) always clobbers reg byte a reg byte y 
Statement [319] *strupr::src#2 = strupr::$0 [ strupr::src#2 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte y 
Statement [322] *((char *)&printf_buffer) = 0 [ printf_buffer printf_uchar::uvalue#2 ] ( main:7::queens:36::print:114::printf_uchar:238 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_uchar::uvalue#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249 [ queens::row#10 count#2 print::i#2 printf_buffer printf_uchar::uvalue#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a 
Statement [325] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) [ printf_buffer printf_number_buffer::buffer_sign#2 ] ( main:7::queens:36::print:114::printf_uchar:238 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  main:7::queens:36::print:114::printf_uchar:249 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::buffer_sign#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } }  ) always clobbers reg byte a 
Statement [330] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#2 ultoa_append::digit#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [331] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] [ ultoa_append::value#2 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::value#2 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Statement [334] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 [ ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] ( main:7::printf_ulong:40::ultoa:122::ultoa_append:268 [ printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  main:7::queens:36::print:114::printf_ulong:227::ultoa:122::ultoa_append:268 [ queens::row#10 count#2 printf_buffer ultoa::digit#2 ultoa::buffer#11 ultoa_append::buffer#0 ultoa_append::sub#0 ultoa_append::value#1 ultoa_append::digit#1 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 ultoa::value#1 } { ultoa_append::buffer#0 = ultoa::buffer#11 } { ultoa_append::value#0 = ultoa::value#2 } { ultoa_append::sub#0 = ultoa::digit_value#0 } { ultoa_append::return#0 = ultoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [337] toupper::return#0 = toupper::ch#0 + 'A'-'a' [ toupper::return#0 ] ( main:7::printf_uint:34::printf_number_buffer:99::strupr:194::toupper:316 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_number_buffer::buffer_sign#1 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::printf_ulong:40::printf_number_buffer:124::strupr:194::toupper:316 [ printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#0 = printf_ulong::uvalue#2 count#10 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_ulong:227::printf_number_buffer:124::strupr:194::toupper:316 [ queens::row#10 count#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_ulong::uvalue#1 = printf_ulong::uvalue#2 count#2 } { printf_number_buffer::buffer_sign#0 = printf_number_buffer::buffer_sign#10 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:238::printf_number_buffer:326::strupr:194::toupper:316 [ queens::row#10 count#2 print::i1#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  main:7::queens:36::print:114::printf_uchar:249::printf_number_buffer:326::strupr:194::toupper:316 [ queens::row#10 count#2 print::i#2 printf_buffer printf_number_buffer::format_justify_left#10 printf_number_buffer::format_zero_padding#10 printf_number_buffer::putc#10 printf_number_buffer::padding#10 strupr::src#2 toupper::return#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 } { printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 } { toupper::return#2 = toupper::return#3 } }  ) always clobbers reg byte a 
Statement [343] *uctoa::buffer#11 = DIGITS[uctoa::value#2] [ printf_buffer uctoa::buffer#11 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::buffer#11 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::buffer#11 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [344] uctoa::buffer#3 = ++ uctoa::buffer#11 [ printf_buffer uctoa::buffer#3 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::buffer#3 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::buffer#3 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a 
Statement [345] *uctoa::buffer#3 = 0 [ printf_buffer ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } }  ) always clobbers reg byte a reg byte y 
Statement [352] uctoa_append::buffer#0 = uctoa::buffer#11 [ printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::value#2 uctoa::buffer#11 uctoa::digit_value#0 uctoa_append::buffer#0 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a 
Statement [362] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] [ uctoa_append::value#2 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::value#2 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::value#2 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a reg byte y 
Statement [365] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 [ uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] ( main:7::queens:36::print:114::printf_uchar:238::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i1#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { printf_uchar::uvalue#1 = printf_uchar::uvalue#2 print::i1#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  main:7::queens:36::print:114::printf_uchar:249::uctoa:324::uctoa_append:355 [ queens::row#10 count#2 print::i#2 printf_buffer uctoa::digit#2 uctoa::buffer#11 uctoa_append::buffer#0 uctoa_append::sub#0 uctoa_append::value#1 uctoa_append::digit#1 ] { { printf_uchar::uvalue#0 = printf_uchar::uvalue#2 print::i#2 uctoa::value#1 } { uctoa_append::buffer#0 = uctoa::buffer#11 } { uctoa_append::value#0 = uctoa::value#2 } { uctoa_append::sub#0 = uctoa::digit_value#0 } { uctoa_append::return#0 = uctoa_append::value#2 } }  ) always clobbers reg byte a 
Potential registers zp[1]:2 [ conio_c64_init::line#2 conio_c64_init::line#0 ] : zp[1]:2 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:3 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] : zp[1]:3 , reg byte x , reg byte y , 
Potential registers zp[1]:4 [ clrscr::l#2 clrscr::l#1 ] : zp[1]:4 , reg byte x , reg byte y , 
Potential registers zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] : zp[2]:5 , 
Potential registers zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] : zp[2]:7 , 
Potential registers zp[1]:9 [ clrscr::c#2 clrscr::c#1 ] : zp[1]:9 , reg byte x , reg byte y , 
Potential registers zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 ] : zp[2]:10 , 
Potential registers zp[2]:12 [ printf_str::s#11 printf_str::s#12 printf_str::s#0 ] : zp[2]:12 , 
Potential registers zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ] : zp[1]:14 , 
Potential registers zp[4]:15 [ count#10 count#2 ] : zp[4]:15 , 
Potential registers zp[4]:19 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ] : zp[4]:19 , 
Potential registers zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] : zp[1]:23 , reg byte x , 
Potential registers zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 ] : zp[2]:24 , 
Potential registers zp[1]:26 [ utoa::started#2 utoa::started#4 ] : zp[1]:26 , reg byte x , reg byte y , 
Potential registers zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] : zp[2]:27 , 
Potential registers zp[1]:29 [ printf_number_buffer::format_min_length#3 ] : zp[1]:29 , reg byte x , 
Potential registers zp[1]:30 [ printf_number_buffer::format_justify_left#10 ] : zp[1]:30 , 
Potential registers zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ] : zp[1]:31 , 
Potential registers zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] : zp[1]:32 , 
Potential registers zp[2]:33 [ printf_number_buffer::putc#10 ] : zp[2]:33 , 
Potential registers zp[1]:35 [ printf_number_buffer::format_upper_case#10 ] : zp[1]:35 , 
Potential registers zp[1]:36 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] : zp[1]:36 , reg byte x , reg byte y , 
Potential registers zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] : zp[1]:37 , 
Potential registers zp[1]:38 [ legal::i#10 legal::i#1 ] : zp[1]:38 , reg byte x , reg byte y , 
Potential registers zp[1]:39 [ legal::return#4 ] : zp[1]:39 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ] : zp[1]:40 , reg byte x , reg byte y , 
Potential registers zp[1]:41 [ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ] : zp[1]:41 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:42 [ print::i#2 print::i#1 ] : zp[1]:42 , 
Potential registers zp[1]:43 [ print::i1#2 print::i1#1 ] : zp[1]:43 , 
Potential registers zp[1]:44 [ print::j#2 print::j#1 ] : zp[1]:44 , 
Potential registers zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ] : zp[1]:45 , reg byte x , 
Potential registers zp[4]:46 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] : zp[4]:46 , 
Potential registers zp[1]:50 [ ultoa::started#2 ultoa::started#4 ] : zp[1]:50 , reg byte x , reg byte y , 
Potential registers zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] : zp[2]:51 , 
Potential registers zp[2]:53 [ memcpy::source#2 ] : zp[2]:53 , 
Potential registers zp[2]:55 [ memcpy::destination#2 ] : zp[2]:55 , 
Potential registers zp[2]:57 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] : zp[2]:57 , 
Potential registers zp[2]:59 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] : zp[2]:59 , 
Potential registers zp[2]:61 [ memset::str#3 ] : zp[2]:61 , 
Potential registers zp[1]:63 [ memset::c#4 ] : zp[1]:63 , reg byte x , 
Potential registers zp[2]:64 [ memset::dst#2 memset::dst#4 memset::dst#1 ] : zp[2]:64 , 
Potential registers zp[2]:66 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] : zp[2]:66 , 
Potential registers zp[1]:68 [ utoa_append::digit#2 utoa_append::digit#1 ] : zp[1]:68 , reg byte x , reg byte y , 
Potential registers zp[2]:69 [ strlen::str#2 strlen::str#0 ] : zp[2]:69 , 
Potential registers zp[2]:71 [ strlen::len#2 strlen::len#1 ] : zp[2]:71 , 
Potential registers zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] : zp[1]:73 , 
Potential registers zp[1]:74 [ printf_padding::pad#5 ] : zp[1]:74 , 
Potential registers zp[2]:75 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] : zp[2]:75 , 
Potential registers zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ] : zp[1]:77 , 
Potential registers zp[2]:78 [ strupr::src#2 strupr::src#1 ] : zp[2]:78 , 
Potential registers zp[1]:80 [ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ] : zp[1]:80 , reg byte x , reg byte y , 
Potential registers zp[4]:81 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] : zp[4]:81 , 
Potential registers zp[1]:85 [ ultoa_append::digit#2 ultoa_append::digit#1 ] : zp[1]:85 , reg byte x , reg byte y , 
Potential registers zp[1]:86 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] : zp[1]:86 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ] : zp[1]:87 , reg byte x , 
Potential registers zp[1]:88 [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ] : zp[1]:88 , reg byte x , reg byte y , 
Potential registers zp[1]:89 [ uctoa::started#2 uctoa::started#4 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ] : zp[2]:90 , 
Potential registers zp[1]:92 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ] : zp[1]:92 , reg byte x , 
Potential registers zp[1]:93 [ uctoa_append::digit#2 uctoa_append::digit#1 ] : zp[1]:93 , reg byte x , reg byte y , 
Potential registers zp[1]:94 [ conio_cursor_x ] : zp[1]:94 , 
Potential registers zp[1]:95 [ conio_cursor_y ] : zp[1]:95 , 
Potential registers zp[2]:96 [ conio_line_text ] : zp[2]:96 , 
Potential registers zp[2]:98 [ conio_line_color ] : zp[2]:98 , 
Potential registers zp[1]:100 [ cputc::c#0 ] : zp[1]:100 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:101 [ kbhit::return#2 ] : zp[1]:101 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:102 [ main::$5 ] : zp[1]:102 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:103 [ gotoxy::$7 ] : zp[2]:103 , 
Potential registers zp[2]:105 [ gotoxy::$8 ] : zp[2]:105 , 
Potential registers zp[2]:107 [ gotoxy::$9 ] : zp[2]:107 , 
Potential registers zp[2]:109 [ gotoxy::line_offset#0 ] : zp[2]:109 , 
Potential registers zp[2]:111 [ gotoxy::$5 ] : zp[2]:111 , 
Potential registers zp[2]:113 [ gotoxy::$6 ] : zp[2]:113 , 
Potential registers zp[1]:115 [ printf_str::c#1 ] : zp[1]:115 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:116 [ legal::row#0 ] : zp[1]:116 , reg byte x , 
Potential registers zp[1]:117 [ legal::column#0 ] : zp[1]:117 , reg byte x , reg byte y , 
Potential registers zp[1]:118 [ legal::return#0 ] : zp[1]:118 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:119 [ queens::$2 ] : zp[1]:119 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:120 [ kbhit::return#0 ] : zp[1]:120 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:121 [ utoa::$11 ] : zp[1]:121 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:122 [ utoa::buffer#3 ] : zp[2]:122 , 
Potential registers zp[1]:124 [ utoa::$10 ] : zp[1]:124 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:125 [ utoa::digit_value#0 ] : zp[2]:125 , 
Potential registers zp[2]:127 [ utoa_append::buffer#0 ] : zp[2]:127 , 
Potential registers zp[2]:129 [ utoa_append::sub#0 ] : zp[2]:129 , 
Potential registers zp[2]:131 [ utoa_append::return#0 ] : zp[2]:131 , 
Potential registers zp[2]:133 [ strlen::return#2 ] : zp[2]:133 , 
Potential registers zp[2]:135 [ printf_number_buffer::$19 ] : zp[2]:135 , 
Potential registers zp[1]:137 [ legal::$0 ] : zp[1]:137 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:138 [ legal::diff1_a#0 ] : zp[1]:138 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:139 [ ultoa::$11 ] : zp[1]:139 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:140 [ ultoa::buffer#3 ] : zp[2]:140 , 
Potential registers zp[1]:142 [ ultoa::$10 ] : zp[1]:142 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[4]:143 [ ultoa::digit_value#0 ] : zp[4]:143 , 
Potential registers zp[2]:147 [ ultoa_append::buffer#0 ] : zp[2]:147 , 
Potential registers zp[4]:149 [ ultoa_append::sub#0 ] : zp[4]:149 , 
Potential registers zp[4]:153 [ ultoa_append::return#0 ] : zp[4]:153 , 
Potential registers zp[2]:157 [ memcpy::src_end#0 ] : zp[2]:157 , 
Potential registers zp[2]:159 [ memset::end#0 ] : zp[2]:159 , 
Potential registers zp[1]:161 [ toupper::return#3 ] : zp[1]:161 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:162 [ strupr::$0 ] : zp[1]:162 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:163 [ uctoa::buffer#3 ] : zp[2]:163 , 
Potential registers zp[1]:165 [ uctoa::digit_value#0 ] : zp[1]:165 , reg byte x , reg byte y , 
Potential registers zp[2]:166 [ uctoa_append::buffer#0 ] : zp[2]:166 , 
Potential registers zp[1]:168 [ uctoa_append::sub#0 ] : zp[1]:168 , reg byte x , reg byte y , 
Potential registers zp[1]:169 [ uctoa_append::return#0 ] : zp[1]:169 , reg byte a , reg byte x , reg byte y , 
Potential registers mem[12] [ printf_buffer ] : mem[12] , 

REGISTER UPLIFT SCOPES
Uplift Scope [uctoa_append] 25,000,550,000,000,000: zp[1]:92 [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ] 20,000,500,000,000,000: zp[1]:93 [ uctoa_append::digit#2 uctoa_append::digit#1 ] 3,333,350,000,000,000: zp[1]:168 [ uctoa_append::sub#0 ] 200,000,000,002: zp[1]:169 [ uctoa_append::return#0 ] 137,500,000,000.25: zp[2]:166 [ uctoa_append::buffer#0 ] 
Uplift Scope [toupper] 47,333,333,333,338.66: zp[1]:86 [ toupper::return#2 toupper::return#0 toupper::ch#0 ] 2,000,000,000,002: zp[1]:161 [ toupper::return#3 ] 
Uplift Scope [ultoa_append] 2,500,550,000,003.5: zp[4]:81 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] 2,000,500,000,002.5: zp[1]:85 [ ultoa_append::digit#2 ultoa_append::digit#1 ] 333,350,000,000.5: zp[4]:149 [ ultoa_append::sub#0 ] 200,000,002: zp[4]:153 [ ultoa_append::return#0 ] 137,500,000.25: zp[2]:147 [ ultoa_append::buffer#0 ] 
Uplift Scope [strupr] 2,714,285,714,288.43: zp[2]:78 [ strupr::src#2 strupr::src#1 ] 2,000,000,000,002: zp[1]:162 [ strupr::$0 ] 
Uplift Scope [strlen] 3,000,000,000,003: zp[2]:69 [ strlen::str#2 strlen::str#0 ] 1,500,025,000,001.75: zp[2]:71 [ strlen::len#2 strlen::len#1 ] 200,000,002: zp[2]:133 [ strlen::return#2 ] 
Uplift Scope [printf_padding] 3,000,000,000,003: zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ] 200,660,000,006.8: zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] 166,666,666,666.83: zp[1]:74 [ printf_padding::pad#5 ] 3,300,000,033: zp[2]:75 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] 
Uplift Scope [uctoa] 383,350,000,004: zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ] 316,755,000,004.5: zp[1]:88 [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ] 230,769,230,771.54: zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ] 160,000,000,001.6: zp[1]:89 [ uctoa::started#2 uctoa::started#4 ] 60,000,000,000.6: zp[1]:165 [ uctoa::digit_value#0 ] 200,000,002: zp[2]:163 [ uctoa::buffer#3 ] 
Uplift Scope [printf_str] 26,500,000,004: zp[2]:12 [ printf_str::s#11 printf_str::s#12 printf_str::s#0 ] 10,000,000,001: zp[1]:115 [ printf_str::c#1 ] 1,200,000,012: zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 ] 
Uplift Scope [ultoa] 378,714,289.64: zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] 307,835,718.5: zp[4]:46 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] 228,571,430.86: zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ] 200,000,002: zp[1]:142 [ ultoa::$10 ] 150,000,001.5: zp[1]:50 [ ultoa::started#2 ultoa::started#4 ] 60,000,000.6: zp[4]:143 [ ultoa::digit_value#0 ] 2,000,002: zp[1]:139 [ ultoa::$11 ] 2,000,002: zp[2]:140 [ ultoa::buffer#3 ] 
Uplift Scope [printf_number_buffer] 650,000,006.5: zp[1]:36 [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] 116,666,667.83: zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] 100,000,001: zp[2]:135 [ printf_number_buffer::$19 ] 34,966,877.71: zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] 11,111,111.22: zp[2]:33 [ printf_number_buffer::putc#10 ] 10,000,000.1: zp[1]:29 [ printf_number_buffer::format_min_length#3 ] 8,823,529.5: zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ] 6,060,606.12: zp[1]:30 [ printf_number_buffer::format_justify_left#10 ] 3,571,428.61: zp[1]:35 [ printf_number_buffer::format_upper_case#10 ] 
Uplift Scope [utoa_append] 25,055,003.5: zp[2]:66 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] 20,050,002.5: zp[1]:68 [ utoa_append::digit#2 utoa_append::digit#1 ] 3,335,000.5: zp[2]:129 [ utoa_append::sub#0 ] 20,002: zp[2]:131 [ utoa_append::return#0 ] 13,750.25: zp[2]:127 [ utoa_append::buffer#0 ] 
Uplift Scope [print] 25,714,288.29: zp[1]:44 [ print::j#2 print::j#1 ] 3,000,003: zp[1]:42 [ print::i#2 print::i#1 ] 3,000,002.36: zp[1]:43 [ print::i1#2 print::i1#1 ] 
Uplift Scope [legal] 7,000,007: zp[1]:41 [ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ] 4,600,004.6: zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ] 2,571,431.14: zp[1]:38 [ legal::i#10 legal::i#1 ] 2,000,002: zp[1]:137 [ legal::$0 ] 2,000,002: zp[1]:138 [ legal::diff1_a#0 ] 235,353.24: zp[1]:117 [ legal::column#0 ] 222,278.06: zp[1]:116 [ legal::row#0 ] 2,002: zp[1]:118 [ legal::return#0 ] 333.67: zp[1]:39 [ legal::return#4 ] 
Uplift Scope [printf_uchar] 10,000,005.5: zp[1]:80 [ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ] 
Uplift Scope [gotoxy] 200,002: zp[2]:105 [ gotoxy::$8 ] 200,002: zp[2]:107 [ gotoxy::$9 ] 200,002: zp[2]:111 [ gotoxy::$5 ] 200,002: zp[2]:113 [ gotoxy::$6 ] 150,001.5: zp[2]:103 [ gotoxy::$7 ] 133,360.33: zp[1]:3 [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] 100,001: zp[2]:109 [ gotoxy::line_offset#0 ] 
Uplift Scope [utoa] 38,003.93: zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] 30,717.36: zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 ] 22,859.43: zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] 20,002: zp[1]:124 [ utoa::$10 ] 15,001.5: zp[1]:26 [ utoa::started#2 utoa::started#4 ] 6,000.6: zp[2]:125 [ utoa::digit_value#0 ] 2,002: zp[1]:121 [ utoa::$11 ] 2,002: zp[2]:122 [ utoa::buffer#3 ] 
Uplift Scope [printf_ulong] 75,030.5: zp[4]:19 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ] 
Uplift Scope [memcpy] 31,254.25: zp[2]:57 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] 22,337.67: zp[2]:59 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] 1,375.25: zp[2]:157 [ memcpy::src_end#0 ] 0: zp[2]:53 [ memcpy::source#2 ] 0: zp[2]:55 [ memcpy::destination#2 ] 
Uplift Scope [clrscr] 32,503.25: zp[1]:9 [ clrscr::c#2 clrscr::c#1 ] 2,501.38: zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] 2,382.05: zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] 2,335.67: zp[1]:4 [ clrscr::l#2 clrscr::l#1 ] 
Uplift Scope [memset] 35,672.33: zp[2]:64 [ memset::dst#2 memset::dst#4 memset::dst#1 ] 1,833.67: zp[2]:159 [ memset::end#0 ] 1,428.71: zp[1]:63 [ memset::c#4 ] 0: zp[2]:61 [ memset::str#3 ] 
Uplift Scope [] 20,025: zp[1]:94 [ conio_cursor_x ] 4,777.62: zp[2]:96 [ conio_line_text ] 4,560.45: zp[2]:98 [ conio_line_color ] 4,366.48: zp[1]:95 [ conio_cursor_y ] 832.69: zp[4]:15 [ count#10 count#2 ] 0: mem[12] [ printf_buffer ] 
Uplift Scope [queens] 5,148: zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ] 2,002: zp[1]:119 [ queens::$2 ] 
Uplift Scope [kbhit] 367.33: zp[1]:120 [ kbhit::return#0 ] 202: zp[1]:101 [ kbhit::return#2 ] 
Uplift Scope [main] 202: zp[1]:102 [ main::$5 ] 
Uplift Scope [conio_c64_init] 33: zp[1]:2 [ conio_c64_init::line#2 conio_c64_init::line#0 ] 
Uplift Scope [cputc] 3: zp[1]:100 [ cputc::c#0 ] 
Uplift Scope [RADIX] 
Uplift Scope [cputln] 
Uplift Scope [MOS6526_CIA] 
Uplift Scope [MOS6569_VICII] 
Uplift Scope [MOS6581_SID] 
Uplift Scope [cscroll] 
Uplift Scope [printf_format_number] 
Uplift Scope [printf_buffer_number] 
Uplift Scope [printf_uint] 
Uplift Scope [printf_format_string] 
Uplift Scope [__start] 

Uplifting [uctoa_append] best 805304 combination reg byte x [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ] reg byte y [ uctoa_append::digit#2 uctoa_append::digit#1 ] zp[1]:168 [ uctoa_append::sub#0 ] reg byte x [ uctoa_append::return#0 ] zp[2]:166 [ uctoa_append::buffer#0 ] 
Uplifting [toupper] best 793297 combination reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ] reg byte a [ toupper::return#3 ] 
Uplifting [ultoa_append] best 787294 combination zp[4]:81 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ] zp[4]:149 [ ultoa_append::sub#0 ] zp[4]:153 [ ultoa_append::return#0 ] zp[2]:147 [ ultoa_append::buffer#0 ] 
Uplifting [strupr] best 781294 combination zp[2]:78 [ strupr::src#2 strupr::src#1 ] reg byte a [ strupr::$0 ] 
Uplifting [strlen] best 781294 combination zp[2]:69 [ strlen::str#2 strlen::str#0 ] zp[2]:71 [ strlen::len#2 strlen::len#1 ] zp[2]:133 [ strlen::return#2 ] 
Uplifting [printf_padding] best 781294 combination zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ] zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] zp[1]:74 [ printf_padding::pad#5 ] zp[2]:75 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] 
Uplifting [uctoa] best 772288 combination zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ] reg byte x [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ] zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ] zp[1]:89 [ uctoa::started#2 uctoa::started#4 ] zp[1]:165 [ uctoa::digit_value#0 ] zp[2]:163 [ uctoa::buffer#3 ] 
Uplifting [printf_str] best 772218 combination zp[2]:12 [ printf_str::s#11 printf_str::s#12 printf_str::s#0 ] reg byte a [ printf_str::c#1 ] zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 ] 
Uplifting [ultoa] best 771114 combination zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] zp[4]:46 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ] reg byte a [ ultoa::$10 ] reg byte x [ ultoa::started#2 ultoa::started#4 ] zp[4]:143 [ ultoa::digit_value#0 ] reg byte a [ ultoa::$11 ] zp[2]:140 [ ultoa::buffer#3 ] 
Uplifting [printf_number_buffer] best 771100 combination reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ] zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] zp[2]:135 [ printf_number_buffer::$19 ] zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] zp[2]:33 [ printf_number_buffer::putc#10 ] reg byte x [ printf_number_buffer::format_min_length#3 ] zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ] zp[1]:30 [ printf_number_buffer::format_justify_left#10 ] zp[1]:35 [ printf_number_buffer::format_upper_case#10 ] 
Uplifting [utoa_append] best 770497 combination zp[2]:66 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ] zp[2]:129 [ utoa_append::sub#0 ] zp[2]:131 [ utoa_append::return#0 ] zp[2]:127 [ utoa_append::buffer#0 ] 
Uplifting [print] best 770497 combination zp[1]:44 [ print::j#2 print::j#1 ] zp[1]:42 [ print::i#2 print::i#1 ] zp[1]:43 [ print::i1#2 print::i1#1 ] 
Uplifting [legal] best 767797 combination reg byte a [ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ] zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ] reg byte y [ legal::i#10 legal::i#1 ] reg byte x [ legal::$0 ] zp[1]:138 [ legal::diff1_a#0 ] zp[1]:117 [ legal::column#0 ] zp[1]:116 [ legal::row#0 ] zp[1]:118 [ legal::return#0 ] zp[1]:39 [ legal::return#4 ] 
Limited combination testing to 100 combinations of 55296 possible.
Uplifting [printf_uchar] best 767194 combination reg byte x [ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ] 
Uplifting [gotoxy] best 767178 combination zp[2]:105 [ gotoxy::$8 ] zp[2]:107 [ gotoxy::$9 ] zp[2]:111 [ gotoxy::$5 ] zp[2]:113 [ gotoxy::$6 ] zp[2]:103 [ gotoxy::$7 ] reg byte x [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ] zp[2]:109 [ gotoxy::line_offset#0 ] 
Uplifting [utoa] best 767062 combination zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 ] zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] reg byte a [ utoa::$10 ] reg byte x [ utoa::started#2 utoa::started#4 ] zp[2]:125 [ utoa::digit_value#0 ] reg byte x [ utoa::$11 ] zp[2]:122 [ utoa::buffer#3 ] 
Uplifting [printf_ulong] best 767062 combination zp[4]:19 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ] 
Uplifting [memcpy] best 767062 combination zp[2]:57 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] zp[2]:59 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] zp[2]:157 [ memcpy::src_end#0 ] zp[2]:53 [ memcpy::source#2 ] zp[2]:55 [ memcpy::destination#2 ] 
Uplifting [clrscr] best 765472 combination reg byte y [ clrscr::c#2 clrscr::c#1 ] zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] reg byte x [ clrscr::l#2 clrscr::l#1 ] 
Uplifting [memset] best 765456 combination zp[2]:64 [ memset::dst#2 memset::dst#4 memset::dst#1 ] zp[2]:159 [ memset::end#0 ] reg byte x [ memset::c#4 ] zp[2]:61 [ memset::str#3 ] 
Uplifting [] best 765456 combination zp[1]:94 [ conio_cursor_x ] zp[2]:96 [ conio_line_text ] zp[2]:98 [ conio_line_color ] zp[1]:95 [ conio_cursor_y ] zp[4]:15 [ count#10 count#2 ] mem[12] [ printf_buffer ] 
Uplifting [queens] best 765416 combination zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ] reg byte a [ queens::$2 ] 
Uplifting [kbhit] best 765323 combination reg byte a [ kbhit::return#0 ] reg byte a [ kbhit::return#2 ] 
Uplifting [main] best 765283 combination reg byte a [ main::$5 ] 
Uplifting [conio_c64_init] best 765271 combination reg byte x [ conio_c64_init::line#2 conio_c64_init::line#0 ] 
Uplifting [cputc] best 765262 combination reg byte a [ cputc::c#0 ] 
Uplifting [RADIX] best 765262 combination 
Uplifting [cputln] best 765262 combination 
Uplifting [MOS6526_CIA] best 765262 combination 
Uplifting [MOS6569_VICII] best 765262 combination 
Uplifting [MOS6581_SID] best 765262 combination 
Uplifting [cscroll] best 765262 combination 
Uplifting [printf_format_number] best 765262 combination 
Uplifting [printf_buffer_number] best 765262 combination 
Uplifting [printf_uint] best 765262 combination 
Uplifting [printf_format_string] best 765262 combination 
Uplifting [__start] best 765262 combination 
Attempting to uplift remaining variables inzp[1]:168 [ uctoa_append::sub#0 ]
Uplifting [uctoa_append] best 765262 combination zp[1]:168 [ uctoa_append::sub#0 ] 
Attempting to uplift remaining variables inzp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ]
Uplifting [printf_padding] best 765262 combination zp[1]:77 [ printf_padding::i#2 printf_padding::i#1 ] 
Attempting to uplift remaining variables inzp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ]
Uplifting [uctoa] best 765262 combination zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ] 
Attempting to uplift remaining variables inzp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
Uplifting [printf_padding] best 765262 combination zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] 
Attempting to uplift remaining variables inzp[1]:74 [ printf_padding::pad#5 ]
Uplifting [printf_padding] best 765262 combination zp[1]:74 [ printf_padding::pad#5 ] 
Attempting to uplift remaining variables inzp[1]:89 [ uctoa::started#2 uctoa::started#4 ]
Uplifting [uctoa] best 765262 combination zp[1]:89 [ uctoa::started#2 uctoa::started#4 ] 
Attempting to uplift remaining variables inzp[1]:165 [ uctoa::digit_value#0 ]
Uplifting [uctoa] best 765262 combination zp[1]:165 [ uctoa::digit_value#0 ] 
Attempting to uplift remaining variables inzp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ]
Uplifting [ultoa] best 765262 combination zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ] 
Attempting to uplift remaining variables inzp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Uplifting [printf_number_buffer] best 765262 combination zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] 
Attempting to uplift remaining variables inzp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
Uplifting [printf_number_buffer] best 765262 combination zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] 
Attempting to uplift remaining variables inzp[1]:44 [ print::j#2 print::j#1 ]
Uplifting [print] best 765262 combination zp[1]:44 [ print::j#2 print::j#1 ] 
Attempting to uplift remaining variables inzp[1]:31 [ printf_number_buffer::format_zero_padding#10 ]
Uplifting [printf_number_buffer] best 765262 combination zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ] 
Attempting to uplift remaining variables inzp[1]:30 [ printf_number_buffer::format_justify_left#10 ]
Uplifting [printf_number_buffer] best 765262 combination zp[1]:30 [ printf_number_buffer::format_justify_left#10 ] 
Attempting to uplift remaining variables inzp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ]
Uplifting [legal] best 765262 combination zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ] 
Attempting to uplift remaining variables inzp[1]:35 [ printf_number_buffer::format_upper_case#10 ]
Uplifting [printf_number_buffer] best 765262 combination zp[1]:35 [ printf_number_buffer::format_upper_case#10 ] 
Attempting to uplift remaining variables inzp[1]:42 [ print::i#2 print::i#1 ]
Uplifting [print] best 765262 combination zp[1]:42 [ print::i#2 print::i#1 ] 
Attempting to uplift remaining variables inzp[1]:43 [ print::i1#2 print::i1#1 ]
Uplifting [print] best 765262 combination zp[1]:43 [ print::i1#2 print::i1#1 ] 
Attempting to uplift remaining variables inzp[1]:138 [ legal::diff1_a#0 ]
Uplifting [legal] best 764262 combination reg byte a [ legal::diff1_a#0 ] 
Attempting to uplift remaining variables inzp[1]:117 [ legal::column#0 ]
Uplifting [legal] best 764262 combination zp[1]:117 [ legal::column#0 ] 
Attempting to uplift remaining variables inzp[1]:116 [ legal::row#0 ]
Uplifting [legal] best 764262 combination zp[1]:116 [ legal::row#0 ] 
Attempting to uplift remaining variables inzp[1]:23 [ utoa::digit#2 utoa::digit#1 ]
Uplifting [utoa] best 764262 combination zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] 
Attempting to uplift remaining variables inzp[1]:94 [ conio_cursor_x ]
Uplifting [] best 764262 combination zp[1]:94 [ conio_cursor_x ] 
Attempting to uplift remaining variables inzp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ]
Uplifting [queens] best 764262 combination zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ] 
Attempting to uplift remaining variables inzp[1]:95 [ conio_cursor_y ]
Uplifting [] best 764262 combination zp[1]:95 [ conio_cursor_y ] 
Attempting to uplift remaining variables inzp[1]:118 [ legal::return#0 ]
Uplifting [legal] best 764202 combination reg byte a [ legal::return#0 ] 
Attempting to uplift remaining variables inzp[1]:39 [ legal::return#4 ]
Uplifting [legal] best 764166 combination reg byte a [ legal::return#4 ] 
Coalescing zero page register [ zp[2]:33 [ printf_number_buffer::putc#10 ] ] with [ zp[2]:75 [ printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] ] - score: 3
Coalescing zero page register [ zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 ] ] with [ zp[2]:33 [ printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 ] ] with [ zp[1]:116 [ legal::row#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:19 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ] ] with [ zp[4]:46 [ ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 ] ] with [ zp[2]:66 [ utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 ] ] with [ zp[2]:131 [ utoa_append::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 ] ] with [ zp[2]:122 [ utoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 ] ] with [ zp[2]:127 [ utoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ] ] with [ zp[2]:140 [ ultoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ] ] with [ zp[2]:147 [ ultoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:53 [ memcpy::source#2 ] ] with [ zp[2]:57 [ memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:55 [ memcpy::destination#2 ] ] with [ zp[2]:59 [ memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:61 [ memset::str#3 ] ] with [ zp[2]:64 [ memset::dst#2 memset::dst#4 memset::dst#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:71 [ strlen::len#2 strlen::len#1 ] ] with [ zp[2]:133 [ strlen::return#2 ] ] - score: 1
Coalescing zero page register [ zp[4]:81 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ] ] with [ zp[4]:153 [ ultoa_append::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 ] ] with [ zp[2]:163 [ uctoa::buffer#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 uctoa::buffer#3 ] ] with [ zp[2]:166 [ uctoa_append::buffer#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:103 [ gotoxy::$7 ] ] with [ zp[2]:107 [ gotoxy::$9 ] ] - score: 1
Coalescing zero page register [ zp[2]:109 [ gotoxy::line_offset#0 ] ] with [ zp[2]:113 [ gotoxy::$6 ] ] - score: 1
Coalescing zero page register [ zp[2]:125 [ utoa::digit_value#0 ] ] with [ zp[2]:129 [ utoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:143 [ ultoa::digit_value#0 ] ] with [ zp[4]:149 [ ultoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:165 [ uctoa::digit_value#0 ] ] with [ zp[1]:168 [ uctoa_append::sub#0 ] ] - score: 1
Coalescing zero page register [ zp[4]:19 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ] ] with [ zp[4]:81 [ ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ] ] - score: 2
Coalescing zero page register [ zp[2]:71 [ strlen::len#2 strlen::len#1 strlen::return#2 ] ] with [ zp[2]:135 [ printf_number_buffer::$19 ] ] - score: 1
Coalescing zero page register [ zp[2]:103 [ gotoxy::$7 gotoxy::$9 ] ] with [ zp[2]:109 [ gotoxy::line_offset#0 gotoxy::$6 ] ] - score: 1
Coalescing zero page register [ zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 ] ] with [ zp[2]:5 [ clrscr::line_text#5 clrscr::line_text#1 ] ]
Coalescing zero page register [ zp[2]:12 [ printf_str::s#11 printf_str::s#12 printf_str::s#0 ] ] with [ zp[2]:7 [ clrscr::line_cols#5 clrscr::line_cols#1 ] ]
Coalescing zero page register [ zp[1]:23 [ utoa::digit#2 utoa::digit#1 ] ] with [ zp[1]:14 [ queens::row#10 queens::row#1 queens::row#2 legal::row#0 ] ]
Coalescing zero page register [ zp[1]:40 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 ] ] with [ zp[1]:30 [ printf_number_buffer::format_justify_left#10 ] ]
Coalescing zero page register [ zp[1]:44 [ print::j#2 print::j#1 ] ] with [ zp[1]:31 [ printf_number_buffer::format_zero_padding#10 ] ]
Coalescing zero page register [ zp[1]:45 [ ultoa::digit#2 ultoa::digit#1 ] ] with [ zp[1]:32 [ printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ] ]
Coalescing zero page register [ zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 ] ] with [ zp[2]:24 [ utoa::value#2 utoa::value#6 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ]
Coalescing zero page register [ zp[2]:61 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 ] ] with [ zp[2]:53 [ memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ] ]
Coalescing zero page register [ zp[2]:69 [ strlen::str#2 strlen::str#0 ] ] with [ zp[2]:27 [ utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ]
Coalescing zero page register [ zp[1]:87 [ uctoa::digit#2 uctoa::digit#1 ] ] with [ zp[1]:35 [ printf_number_buffer::format_upper_case#10 ] ]
Coalescing zero page register [ zp[1]:89 [ uctoa::started#2 uctoa::started#4 ] ] with [ zp[1]:37 [ printf_number_buffer::padding#10 printf_number_buffer::padding#1 ] ]
Coalescing zero page register [ zp[2]:90 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 ] ] with [ zp[2]:71 [ strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ] ]
Coalescing zero page register [ zp[1]:117 [ legal::column#0 ] ] with [ zp[1]:42 [ print::i#2 print::i#1 ] ]
Coalescing zero page register [ zp[2]:125 [ utoa::digit_value#0 utoa_append::sub#0 ] ] with [ zp[2]:78 [ strupr::src#2 strupr::src#1 ] ]
Coalescing zero page register [ zp[2]:159 [ memset::end#0 ] ] with [ zp[2]:55 [ memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ] ]
Coalescing zero page register [ zp[1]:165 [ uctoa::digit_value#0 uctoa_append::sub#0 ] ] with [ zp[1]:73 [ printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ] ]
Coalescing zero page register [ zp[2]:51 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 utoa::value#2 utoa::value#6 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 ] ] with [ zp[2]:10 [ printf_str::putc#12 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 clrscr::line_text#5 clrscr::line_text#1 ] ]
Coalescing zero page register [ zp[2]:69 [ strlen::str#2 strlen::str#0 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 ] ] with [ zp[2]:12 [ printf_str::s#11 printf_str::s#12 printf_str::s#0 clrscr::line_cols#5 clrscr::line_cols#1 ] ]
Allocated (was zp[4]:15) zp[4]:2 [ count#10 count#2 ]
Allocated (was zp[4]:19) zp[4]:6 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ]
Allocated (was zp[1]:23) zp[1]:10 [ utoa::digit#2 utoa::digit#1 queens::row#10 queens::row#1 queens::row#2 legal::row#0 ]
Allocated (was zp[1]:40) zp[1]:11 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 printf_number_buffer::format_justify_left#10 ]
Allocated (was zp[1]:43) zp[1]:12 [ print::i1#2 print::i1#1 ]
Allocated (was zp[1]:44) zp[1]:13 [ print::j#2 print::j#1 printf_number_buffer::format_zero_padding#10 ]
Allocated (was zp[1]:45) zp[1]:14 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
Allocated (was zp[2]:51) zp[2]:15 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 utoa::value#2 utoa::value#6 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 printf_str::putc#12 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 clrscr::line_text#5 clrscr::line_text#1 ]
Allocated (was zp[2]:61) zp[2]:17 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
Allocated (was zp[2]:69) zp[2]:19 [ strlen::str#2 strlen::str#0 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 printf_str::s#11 printf_str::s#12 printf_str::s#0 clrscr::line_cols#5 clrscr::line_cols#1 ]
Allocated (was zp[1]:74) zp[1]:21 [ printf_padding::pad#5 ]
Allocated (was zp[1]:77) zp[1]:22 [ printf_padding::i#2 printf_padding::i#1 ]
Allocated (was zp[1]:87) zp[1]:23 [ uctoa::digit#2 uctoa::digit#1 printf_number_buffer::format_upper_case#10 ]
Allocated (was zp[1]:89) zp[1]:24 [ uctoa::started#2 uctoa::started#4 printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
Allocated (was zp[2]:90) zp[2]:25 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ]
Allocated (was zp[1]:94) zp[1]:27 [ conio_cursor_x ]
Allocated (was zp[1]:95) zp[1]:28 [ conio_cursor_y ]
Allocated (was zp[2]:96) zp[2]:29 [ conio_line_text ]
Allocated (was zp[2]:98) zp[2]:31 [ conio_line_color ]
Allocated (was zp[2]:103) zp[2]:33 [ gotoxy::$7 gotoxy::$9 gotoxy::line_offset#0 gotoxy::$6 ]
Allocated (was zp[2]:105) zp[2]:35 [ gotoxy::$8 ]
Allocated (was zp[2]:111) zp[2]:37 [ gotoxy::$5 ]
Allocated (was zp[1]:117) zp[1]:39 [ legal::column#0 print::i#2 print::i#1 ]
Allocated (was zp[2]:125) zp[2]:40 [ utoa::digit_value#0 utoa_append::sub#0 strupr::src#2 strupr::src#1 ]
Allocated (was zp[4]:143) zp[4]:42 [ ultoa::digit_value#0 ultoa_append::sub#0 ]
Allocated (was zp[2]:157) zp[2]:46 [ memcpy::src_end#0 ]
Allocated (was zp[2]:159) zp[2]:48 [ memset::end#0 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
Allocated (was zp[1]:165) zp[1]:50 [ uctoa::digit_value#0 uctoa_append::sub#0 printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
// N Queens Problem in C Using Backtracking
//
// N Queens Problem is a famous puzzle in which n-queens are to be placed on a nxn chess board such that no two queens are in the same row, column or diagonal.
//
// This is an iterative solution.
  // Upstart
  // Commodore 64 PRG executable file
.file [name="eightqueens.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
  // Global Constants & labels
  .const LIGHT_BLUE = $e
  .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
  .const STACK_BASE = $103
  .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
  /// Color Ram
  .label COLORRAM = $d800
  /// Default address of screen character matrix
  .label DEFAULT_SCREEN = $400
  // The number of bytes on the screen
  // The current cursor x-position
  .label conio_cursor_x = $1b
  // The current cursor y-position
  .label conio_cursor_y = $1c
  // The current text cursor line start
  .label conio_line_text = $1d
  // The current color cursor line start
  .label conio_line_color = $1f
  // The number of found solutions
  .label count = 2
.segment Code
  // __start
__start: {
    jmp __init1
    // __start::__init1
  __init1:
    // [1] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // [2] conio_cursor_y = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_y
    // [3] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1 
    lda #<DEFAULT_SCREEN
    sta.z conio_line_text
    lda #>DEFAULT_SCREEN
    sta.z conio_line_text+1
    // [4] conio_line_color = COLORRAM -- pbuz1=pbuc1 
    lda #<COLORRAM
    sta.z conio_line_color
    lda #>COLORRAM
    sta.z conio_line_color+1
    // [5] call conio_c64_init
    jsr conio_c64_init
    // [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
  __b1_from___init1:
    jmp __b1
    // __start::@1
  __b1:
    // [7] call main
    // [27] phi from __start::@1 to main [phi:__start::@1->main]
  main_from___b1:
    jsr main
    jmp __breturn
    // __start::@return
  __breturn:
    // [8] return 
    rts
}
  // conio_c64_init
// Set initial cursor position
conio_c64_init: {
    // Position cursor at current line
    .label BASIC_CURSOR_LINE = $d6
    // [9] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE -- vbuxx=_deref_pbuc1 
    ldx BASIC_CURSOR_LINE
    // [10] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$19
    bcc __b2_from_conio_c64_init
    // [12] phi from conio_c64_init to conio_c64_init::@1 [phi:conio_c64_init->conio_c64_init::@1]
  __b1_from_conio_c64_init:
    // [12] phi conio_c64_init::line#2 = $19-1 [phi:conio_c64_init->conio_c64_init::@1#0] -- vbuxx=vbuc1 
    ldx #$19-1
    jmp __b1
    // [11] phi from conio_c64_init to conio_c64_init::@2 [phi:conio_c64_init->conio_c64_init::@2]
  __b2_from_conio_c64_init:
    jmp __b2
    // conio_c64_init::@2
  __b2:
    // [12] phi from conio_c64_init::@2 to conio_c64_init::@1 [phi:conio_c64_init::@2->conio_c64_init::@1]
  __b1_from___b2:
    // [12] phi conio_c64_init::line#2 = conio_c64_init::line#0 [phi:conio_c64_init::@2->conio_c64_init::@1#0] -- register_copy 
    jmp __b1
    // conio_c64_init::@1
  __b1:
    // [13] gotoxy::y#2 = conio_c64_init::line#2
    // [14] call gotoxy
    // [49] phi from conio_c64_init::@1 to gotoxy [phi:conio_c64_init::@1->gotoxy]
  gotoxy_from___b1:
    // [49] phi gotoxy::y#4 = gotoxy::y#2 [phi:conio_c64_init::@1->gotoxy#0] -- register_copy 
    jsr gotoxy
    jmp __breturn
    // conio_c64_init::@return
  __breturn:
    // [15] return 
    rts
}
  // cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__register(A) char c)
cputc: {
    .const OFFSET_STACK_C = 0
    // [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) -- vbuaa=_stackidxbyte_vbuc1 
    tsx
    lda STACK_BASE+OFFSET_STACK_C,x
    // [17] if(cputc::c#0==' ') goto cputc::@1 -- vbuaa_eq_vbuc1_then_la1 
    cmp #'\n'
    beq __b1_from_cputc
    jmp __b2
    // cputc::@2
  __b2:
    // [18] conio_line_text[conio_cursor_x] = cputc::c#0 -- pbuz1_derefidx_vbuz2=vbuaa 
    ldy.z conio_cursor_x
    sta (conio_line_text),y
    // [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE -- pbuz1_derefidx_vbuz2=vbuc1 
    lda #LIGHT_BLUE
    ldy.z conio_cursor_x
    sta (conio_line_color),y
    // [20] conio_cursor_x = ++ conio_cursor_x -- vbuz1=_inc_vbuz1 
    inc.z conio_cursor_x
    // [21] if(conio_cursor_x!=$28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1 
    lda #$28
    cmp.z conio_cursor_x
    bne __breturn
    // [22] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
  __b3_from___b2:
    jmp __b3
    // cputc::@3
  __b3:
    // [23] call cputln
    jsr cputln
    jmp __breturn
    // cputc::@return
  __breturn:
    // [24] return 
    rts
    // [25] phi from cputc to cputc::@1 [phi:cputc->cputc::@1]
  __b1_from_cputc:
    jmp __b1
    // cputc::@1
  __b1:
    // [26] call cputln
    jsr cputln
    jmp __breturn
}
  // main
main: {
    // [28] call clrscr
    // [70] phi from main to clrscr [phi:main->clrscr]
  clrscr_from_main:
    jsr clrscr
    // [29] phi from main to main::@2 [phi:main->main::@2]
  __b2_from_main:
    jmp __b2
    // main::@2
  __b2:
    // [30] call printf_str
    // [86] phi from main::@2 to printf_str [phi:main::@2->printf_str]
  printf_str_from___b2:
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@2->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = main::s [phi:main::@2->printf_str#1] -- pbuz1=pbuc1 
    lda #<s
    sta.z printf_str.s
    lda #>s
    sta.z printf_str.s+1
    jsr printf_str
    // [31] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
  __b3_from___b2:
    jmp __b3
    // main::@3
  __b3:
    // [32] call printf_str
    // [86] phi from main::@3 to printf_str [phi:main::@3->printf_str]
  printf_str_from___b3:
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@3->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = main::s1 [phi:main::@3->printf_str#1] -- pbuz1=pbuc1 
    lda #<s1
    sta.z printf_str.s
    lda #>s1
    sta.z printf_str.s+1
    jsr printf_str
    // [33] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
  __b4_from___b3:
    jmp __b4
    // main::@4
  __b4:
    // [34] call printf_uint
    // [95] phi from main::@4 to printf_uint [phi:main::@4->printf_uint]
  printf_uint_from___b4:
    jsr printf_uint
    // [35] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
  __b5_from___b4:
    jmp __b5
    // main::@5
  __b5:
    // [36] call queens
    // [101] phi from main::@5 to queens [phi:main::@5->queens]
  queens_from___b5:
    jsr queens
    // [37] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
  __b6_from___b5:
    jmp __b6
    // main::@6
  __b6:
    // [38] call printf_str
    // [86] phi from main::@6 to printf_str [phi:main::@6->printf_str]
  printf_str_from___b6:
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@6->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = main::s2 [phi:main::@6->printf_str#1] -- pbuz1=pbuc1 
    lda #<s2
    sta.z printf_str.s
    lda #>s2
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b7
    // main::@7
  __b7:
    // [39] printf_ulong::uvalue#0 = count#10 -- vduz1=vduz2 
    lda.z count
    sta.z printf_ulong.uvalue
    lda.z count+1
    sta.z printf_ulong.uvalue+1
    lda.z count+2
    sta.z printf_ulong.uvalue+2
    lda.z count+3
    sta.z printf_ulong.uvalue+3
    // [40] call printf_ulong
    // [119] phi from main::@7 to printf_ulong [phi:main::@7->printf_ulong]
  printf_ulong_from___b7:
    // [119] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#0 [phi:main::@7->printf_ulong#0] -- register_copy 
    jsr printf_ulong
    // [41] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
  __b8_from___b7:
    jmp __b8
    // main::@8
  __b8:
    // [42] call printf_str
    // [86] phi from main::@8 to printf_str [phi:main::@8->printf_str]
  printf_str_from___b8:
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@8->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = s3 [phi:main::@8->printf_str#1] -- pbuz1=pbuc1 
    lda #<s3
    sta.z printf_str.s
    lda #>s3
    sta.z printf_str.s+1
    jsr printf_str
    // [43] phi from main::@8 main::@9 to main::@1 [phi:main::@8/main::@9->main::@1]
  __b1_from___b8:
  __b1_from___b9:
    jmp __b1
    // main::@1
  __b1:
    // [44] call kbhit
    jsr kbhit
    // [45] kbhit::return#2 = kbhit::return#0
    jmp __b9
    // main::@9
  __b9:
    // [46] main::$5 = kbhit::return#2
    // [47] if(0==main::$5) goto main::@1 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b1_from___b9
    jmp __breturn
    // main::@return
  __breturn:
    // [48] return 
    rts
  .segment Data
    s: .text " - n queens problem using backtracking -"
    .byte 0
    s1: .text @"\nnumber of queens:"
    .byte 0
    s2: .text @"\n\nsolutions: "
    .byte 0
}
.segment Code
  // gotoxy
// Set the cursor to the specified position
// void gotoxy(char x, __register(X) char y)
gotoxy: {
    .label __5 = $25
    .label __6 = $21
    .label __7 = $21
    .label line_offset = $21
    .label __8 = $23
    .label __9 = $21
    // [50] if(gotoxy::y#4<$19+1) goto gotoxy::@3 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$19+1
    bcc __b3_from_gotoxy
    // [52] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1]
  __b1_from_gotoxy:
    // [52] phi gotoxy::y#5 = 0 [phi:gotoxy->gotoxy::@1#0] -- vbuxx=vbuc1 
    ldx #0
    jmp __b1
    // [51] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3]
  __b3_from_gotoxy:
    jmp __b3
    // gotoxy::@3
  __b3:
    // [52] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1]
  __b1_from___b3:
    // [52] phi gotoxy::y#5 = gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy 
    jmp __b1
    // gotoxy::@1
  __b1:
    jmp __b2
    // gotoxy::@2
  __b2:
    // [53] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // [54] conio_cursor_y = gotoxy::y#5 -- vbuz1=vbuxx 
    stx.z conio_cursor_y
    // [55] gotoxy::$7 = (unsigned int)gotoxy::y#5 -- vwuz1=_word_vbuxx 
    txa
    sta.z __7
    lda #0
    sta.z __7+1
    // [56] gotoxy::$8 = gotoxy::$7 << 2 -- vwuz1=vwuz2_rol_2 
    lda.z __7
    asl
    sta.z __8
    lda.z __7+1
    rol
    sta.z __8+1
    asl.z __8
    rol.z __8+1
    // [57] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 -- vwuz1=vwuz2_plus_vwuz1 
    clc
    lda.z __9
    adc.z __8
    sta.z __9
    lda.z __9+1
    adc.z __8+1
    sta.z __9+1
    // [58] gotoxy::line_offset#0 = gotoxy::$9 << 3 -- vwuz1=vwuz1_rol_3 
    asl.z line_offset
    rol.z line_offset+1
    asl.z line_offset
    rol.z line_offset+1
    asl.z line_offset
    rol.z line_offset+1
    // [59] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz2 
    lda.z line_offset
    clc
    adc #<DEFAULT_SCREEN
    sta.z __5
    lda.z line_offset+1
    adc #>DEFAULT_SCREEN
    sta.z __5+1
    // [60] conio_line_text = gotoxy::$5 -- pbuz1=pbuz2 
    lda.z __5
    sta.z conio_line_text
    lda.z __5+1
    sta.z conio_line_text+1
    // [61] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz1 
    lda.z __6
    clc
    adc #<COLORRAM
    sta.z __6
    lda.z __6+1
    adc #>COLORRAM
    sta.z __6+1
    // [62] conio_line_color = gotoxy::$6 -- pbuz1=pbuz2 
    lda.z __6
    sta.z conio_line_color
    lda.z __6+1
    sta.z conio_line_color+1
    jmp __breturn
    // gotoxy::@return
  __breturn:
    // [63] return 
    rts
}
  // cputln
// Print a newline
cputln: {
    // [64] conio_line_text = conio_line_text + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z conio_line_text
    sta.z conio_line_text
    bcc !+
    inc.z conio_line_text+1
  !:
    // [65] conio_line_color = conio_line_color + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z conio_line_color
    sta.z conio_line_color
    bcc !+
    inc.z conio_line_color+1
  !:
    // [66] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // [67] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1 
    inc.z conio_cursor_y
    // [68] call cscroll
    jsr cscroll
    jmp __breturn
    // cputln::@return
  __breturn:
    // [69] return 
    rts
}
  // clrscr
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
    .label line_text = $f
    .label line_cols = $13
    // [71] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1]
  __b1_from_clrscr:
    // [71] phi clrscr::line_cols#5 = COLORRAM [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1 
    lda #<COLORRAM
    sta.z line_cols
    lda #>COLORRAM
    sta.z line_cols+1
    // [71] phi clrscr::line_text#5 = DEFAULT_SCREEN [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1 
    lda #<DEFAULT_SCREEN
    sta.z line_text
    lda #>DEFAULT_SCREEN
    sta.z line_text+1
    // [71] phi clrscr::l#2 = 0 [phi:clrscr->clrscr::@1#2] -- vbuxx=vbuc1 
    ldx #0
    jmp __b1
    // clrscr::@1
  __b1:
    // [72] if(clrscr::l#2<$19) goto clrscr::@3 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$19
    bcc __b3_from___b1
    jmp __b2
    // clrscr::@2
  __b2:
    // [73] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // [74] conio_cursor_y = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_y
    // [75] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1 
    lda #<DEFAULT_SCREEN
    sta.z conio_line_text
    lda #>DEFAULT_SCREEN
    sta.z conio_line_text+1
    // [76] conio_line_color = COLORRAM -- pbuz1=pbuc1 
    lda #<COLORRAM
    sta.z conio_line_color
    lda #>COLORRAM
    sta.z conio_line_color+1
    jmp __breturn
    // clrscr::@return
  __breturn:
    // [77] return 
    rts
    // [78] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3]
  __b3_from___b1:
    // [78] phi clrscr::c#2 = 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuyy=vbuc1 
    ldy #0
    jmp __b3
    // clrscr::@3
  __b3:
    // [79] if(clrscr::c#2<$28) goto clrscr::@4 -- vbuyy_lt_vbuc1_then_la1 
    cpy #$28
    bcc __b4
    jmp __b5
    // clrscr::@5
  __b5:
    // [80] clrscr::line_text#1 = clrscr::line_text#5 + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z line_text
    sta.z line_text
    bcc !+
    inc.z line_text+1
  !:
    // [81] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z line_cols
    sta.z line_cols
    bcc !+
    inc.z line_cols+1
  !:
    // [82] clrscr::l#1 = ++ clrscr::l#2 -- vbuxx=_inc_vbuxx 
    inx
    // [71] phi from clrscr::@5 to clrscr::@1 [phi:clrscr::@5->clrscr::@1]
  __b1_from___b5:
    // [71] phi clrscr::line_cols#5 = clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy 
    // [71] phi clrscr::line_text#5 = clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy 
    // [71] phi clrscr::l#2 = clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy 
    jmp __b1
    // clrscr::@4
  __b4:
    // [83] clrscr::line_text#5[clrscr::c#2] = ' ' -- pbuz1_derefidx_vbuyy=vbuc1 
    lda #' '
    sta (line_text),y
    // [84] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE -- pbuz1_derefidx_vbuyy=vbuc1 
    lda #LIGHT_BLUE
    sta (line_cols),y
    // [85] clrscr::c#1 = ++ clrscr::c#2 -- vbuyy=_inc_vbuyy 
    iny
    // [78] phi from clrscr::@4 to clrscr::@3 [phi:clrscr::@4->clrscr::@3]
  __b3_from___b4:
    // [78] phi clrscr::c#2 = clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy 
    jmp __b3
}
  // printf_str
/// Print a NUL-terminated string
// void printf_str(__zp($f) void (*putc)(char), __zp($13) const char *s)
printf_str: {
    .label s = $13
    .label putc = $f
    // [87] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1]
  __b1_from_printf_str:
  __b1_from___b2:
    // [87] phi printf_str::s#11 = printf_str::s#12 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy 
    jmp __b1
    // printf_str::@1
  __b1:
    // [88] printf_str::c#1 = *printf_str::s#11 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (s),y
    // [89] printf_str::s#0 = ++ printf_str::s#11 -- pbuz1=_inc_pbuz1 
    inc.z s
    bne !+
    inc.z s+1
  !:
    // [90] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuaa_then_la1 
    cmp #0
    bne __b2
    jmp __breturn
    // printf_str::@return
  __breturn:
    // [91] return 
    rts
    // printf_str::@2
  __b2:
    // [92] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuaa 
    pha
    // [93] callexecute *printf_str::putc#12  -- call__deref_pprz1 
    jsr icall1
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    jmp __b1_from___b2
    // Outside Flow
  icall1:
    jmp (putc)
}
  // printf_uint
// Print an unsigned int using a specific format
// void printf_uint(void (*putc)(char), unsigned int uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_uint: {
    .const format_min_length = 0
    .const format_justify_left = 0
    .const format_zero_padding = 0
    .const format_upper_case = 0
    .label putc = cputc
    .label uvalue = 8
    jmp __b1
    // printf_uint::@1
  __b1:
    // [96] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // [97] call utoa
  // Format number into buffer
    // [142] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa]
  utoa_from___b1:
    jsr utoa
    jmp __b2
    // printf_uint::@2
  __b2:
    // [98] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 
    lda printf_buffer
    sta.z printf_number_buffer.buffer_sign
    // [99] call printf_number_buffer
  // Print using format
    // [163] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer]
  printf_number_buffer_from___b2:
    // [163] phi printf_number_buffer::format_upper_case#10 = printf_uint::format_upper_case#0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 
    lda #format_upper_case
    sta.z printf_number_buffer.format_upper_case
    // [163] phi printf_number_buffer::putc#10 = printf_uint::putc#0 [phi:printf_uint::@2->printf_number_buffer#1] -- pprz1=pprc1 
    lda #<putc
    sta.z printf_number_buffer.putc
    lda #>putc
    sta.z printf_number_buffer.putc+1
    // [163] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy 
    // [163] phi printf_number_buffer::format_zero_padding#10 = printf_uint::format_zero_padding#0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 
    lda #format_zero_padding
    sta.z printf_number_buffer.format_zero_padding
    // [163] phi printf_number_buffer::format_justify_left#10 = printf_uint::format_justify_left#0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1 
    lda #format_justify_left
    sta.z printf_number_buffer.format_justify_left
    // [163] phi printf_number_buffer::format_min_length#3 = printf_uint::format_min_length#0 [phi:printf_uint::@2->printf_number_buffer#5] -- vbuxx=vbuc1 
    ldx #format_min_length
    jsr printf_number_buffer
    jmp __breturn
    // printf_uint::@return
  __breturn:
    // [100] return 
    rts
}
  // queens
// Generates all valid placements of queens on a NxN board without recursion
// Works exactly like the recursive solution by generating all legal placements af a queen for a specific row taking into consideration the queens already placed on the rows below 
// and then moving on to generating all legal placements on the rows above.
// In practice this works like a depth first tree search where the level in the tree is the row on the board and each branch in the tree is the legal placement of a queen on that row. 
// The solution uses the board itself as a "cursor" moving through all possibilities
// When all columns on a row is exhausted move back down to the lower level and move forward one position until we are done with the last position on the first row
queens: {
    // The current row where the queen is moving
    .label row = $a
    // [102] phi from queens to queens::@1 [phi:queens->queens::@1]
  __b1_from_queens:
    // [102] phi count#10 = 0 [phi:queens->queens::@1#0] -- vduz1=vduc1 
    lda #<0
    sta.z count
    lda #>0
    sta.z count+1
    lda #<0>>$10
    sta.z count+2
    lda #>0>>$10
    sta.z count+3
    // [102] phi queens::row#10 = 1 [phi:queens->queens::@1#1] -- vbuz1=vbuc1 
    lda #1
    sta.z row
    jmp __b1
    // [102] phi from queens::@4 queens::@7 queens::@8 queens::@9 to queens::@1 [phi:queens::@4/queens::@7/queens::@8/queens::@9->queens::@1]
  __b1_from___b4:
  __b1_from___b7:
  __b1_from___b8:
  __b1_from___b9:
    // [102] phi count#10 = count#2 [phi:queens::@4/queens::@7/queens::@8/queens::@9->queens::@1#0] -- register_copy 
    // [102] phi queens::row#10 = queens::row#10 [phi:queens::@4/queens::@7/queens::@8/queens::@9->queens::@1#1] -- register_copy 
    jmp __b1
    // queens::@1
  __b1:
    jmp __b2
    // queens::@2
  __b2:
    // [103] board[queens::row#10] = ++ board[queens::row#10] -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 
    ldx.z row
    inc board,x
    // [104] if(board[queens::row#10]==8+1) goto queens::@3 -- pbuc1_derefidx_vbuz1_eq_vbuc2_then_la1 
    ldy.z row
    lda board,y
    cmp #8+1
    beq __b3
    jmp __b5
    // queens::@5
  __b5:
    // [105] legal::row#0 = queens::row#10
    // [106] legal::column#0 = board[queens::row#10] -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z row
    lda board,y
    sta.z legal.column
    // [107] call legal
    // [204] phi from queens::@5 to legal [phi:queens::@5->legal]
  legal_from___b5:
    jsr legal
    // [108] legal::return#0 = legal::return#4
    jmp __b9
    // queens::@9
  __b9:
    // [109] queens::$2 = legal::return#0
    // [110] if(0==queens::$2) goto queens::@1 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b1_from___b9
    jmp __b6
    // queens::@6
  __b6:
    // [111] if(queens::row#10==8) goto queens::@4 -- vbuz1_eq_vbuc1_then_la1 
    // position is legal - move up to the next row
    lda #8
    cmp.z row
    beq __b4
    jmp __b7
    // queens::@7
  __b7:
    // [112] queens::row#1 = ++ queens::row#10 -- vbuz1=_inc_vbuz1 
    inc.z row
    jmp __b1_from___b7
    // queens::@4
  __b4:
    // [113] count#2 = ++ count#10 -- vduz1=_inc_vduz1 
    inc.z count
    bne !+
    inc.z count+1
    bne !+
    inc.z count+2
    bne !+
    inc.z count+3
  !:
    // [114] call print
    // [222] phi from queens::@4 to print [phi:queens::@4->print]
  print_from___b4:
    jsr print
    jmp __b1_from___b4
    // queens::@3
  __b3:
    // [115] board[queens::row#10] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    // We moved past the end of the row - reset position and go down to the lower row
    lda #0
    ldy.z row
    sta board,y
    // [116] if(queens::row#10==1) goto queens::@return -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z row
    beq __breturn
    jmp __b8
    // queens::@8
  __b8:
    // [117] queens::row#2 = -- queens::row#10 -- vbuz1=_dec_vbuz1 
    dec.z row
    jmp __b1_from___b8
    // queens::@return
  __breturn:
    // [118] return 
    rts
}
  // printf_ulong
// Print an unsigned int using a specific format
// void printf_ulong(void (*putc)(char), __zp(6) unsigned long uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_ulong: {
    .label uvalue = 6
    jmp __b1
    // printf_ulong::@1
  __b1:
    // [120] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // [121] ultoa::value#1 = printf_ulong::uvalue#2
    // [122] call ultoa
  // Format number into buffer
    // [251] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa]
  ultoa_from___b1:
    jsr ultoa
    jmp __b2
    // printf_ulong::@2
  __b2:
    // [123] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 
    lda printf_buffer
    sta.z printf_number_buffer.buffer_sign
    // [124] call printf_number_buffer
  // Print using format
    // [163] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer]
  printf_number_buffer_from___b2:
    // [163] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_upper_case
    // [163] phi printf_number_buffer::putc#10 = &cputc [phi:printf_ulong::@2->printf_number_buffer#1] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_number_buffer.putc
    lda #>cputc
    sta.z printf_number_buffer.putc+1
    // [163] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy 
    // [163] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_zero_padding
    // [163] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_justify_left
    // [163] phi printf_number_buffer::format_min_length#3 = 0 [phi:printf_ulong::@2->printf_number_buffer#5] -- vbuxx=vbuc1 
    ldx #0
    jsr printf_number_buffer
    jmp __breturn
    // printf_ulong::@return
  __breturn:
    // [125] return 
    rts
}
  // kbhit
// Return true if there's a key waiting, return false if not
kbhit: {
    // CIA#1 Port A: keyboard matrix columns and joystick #2
    .label CIA1_PORT_A = $dc00
    // CIA#1 Port B: keyboard matrix rows and joystick #1.
    .label CIA1_PORT_B = $dc01
    // [126] *kbhit::CIA1_PORT_A = 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta CIA1_PORT_A
    // [127] kbhit::return#0 = ~ *kbhit::CIA1_PORT_B -- vbuaa=_bnot__deref_pbuc1 
    lda CIA1_PORT_B
    eor #$ff
    jmp __breturn
    // kbhit::@return
  __breturn:
    // [128] return 
    rts
}
  // cscroll
// Scroll the entire screen if the cursor is beyond the last line
cscroll: {
    // [129] if(conio_cursor_y!=$19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1 
    lda #$19
    cmp.z conio_cursor_y
    bne __breturn
    // [130] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1]
  __b1_from_cscroll:
    jmp __b1
    // cscroll::@1
  __b1:
    // [131] call memcpy
    // [272] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy]
  memcpy_from___b1:
    // [272] phi memcpy::destination#2 = (void *)DEFAULT_SCREEN [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1 
    lda #<DEFAULT_SCREEN
    sta.z memcpy.destination
    lda #>DEFAULT_SCREEN
    sta.z memcpy.destination+1
    // [272] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1 
    lda #<DEFAULT_SCREEN+$28
    sta.z memcpy.source
    lda #>DEFAULT_SCREEN+$28
    sta.z memcpy.source+1
    jsr memcpy
    // [132] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2]
  __b2_from___b1:
    jmp __b2
    // cscroll::@2
  __b2:
    // [133] call memcpy
    // [272] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy]
  memcpy_from___b2:
    // [272] phi memcpy::destination#2 = (void *)COLORRAM [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1 
    lda #<COLORRAM
    sta.z memcpy.destination
    lda #>COLORRAM
    sta.z memcpy.destination+1
    // [272] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1 
    lda #<COLORRAM+$28
    sta.z memcpy.source
    lda #>COLORRAM+$28
    sta.z memcpy.source+1
    jsr memcpy
    // [134] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3]
  __b3_from___b2:
    jmp __b3
    // cscroll::@3
  __b3:
    // [135] call memset
    // [282] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
  memset_from___b3:
    // [282] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1 
    ldx #' '
    // [282] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1 
    lda #<DEFAULT_SCREEN+$19*$28-$28
    sta.z memset.str
    lda #>DEFAULT_SCREEN+$19*$28-$28
    sta.z memset.str+1
    jsr memset
    // [136] phi from cscroll::@3 to cscroll::@4 [phi:cscroll::@3->cscroll::@4]
  __b4_from___b3:
    jmp __b4
    // cscroll::@4
  __b4:
    // [137] call memset
    // [282] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
  memset_from___b4:
    // [282] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1 
    ldx #LIGHT_BLUE
    // [282] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1 
    lda #<COLORRAM+$19*$28-$28
    sta.z memset.str
    lda #>COLORRAM+$19*$28-$28
    sta.z memset.str+1
    jsr memset
    jmp __b5
    // cscroll::@5
  __b5:
    // [138] conio_line_text = conio_line_text - $28 -- pbuz1=pbuz1_minus_vbuc1 
    sec
    lda.z conio_line_text
    sbc #$28
    sta.z conio_line_text
    lda.z conio_line_text+1
    sbc #0
    sta.z conio_line_text+1
    // [139] conio_line_color = conio_line_color - $28 -- pbuz1=pbuz1_minus_vbuc1 
    sec
    lda.z conio_line_color
    sbc #$28
    sta.z conio_line_color
    lda.z conio_line_color+1
    sbc #0
    sta.z conio_line_color+1
    // [140] conio_cursor_y = -- conio_cursor_y -- vbuz1=_dec_vbuz1 
    dec.z conio_cursor_y
    jmp __breturn
    // cscroll::@return
  __breturn:
    // [141] return 
    rts
}
  // utoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void utoa(__zp($f) unsigned int value, __zp($13) char *buffer, char radix)
utoa: {
    .const max_digits = 5
    .label digit_value = $28
    .label buffer = $13
    .label digit = $a
    .label value = $f
    // [143] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
  __b1_from_utoa:
    // [143] phi utoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer+1
    // [143] phi utoa::started#2 = 0 [phi:utoa->utoa::@1#1] -- vbuxx=vbuc1 
    ldx #0
    // [143] phi utoa::value#2 = printf_uint::uvalue#0 [phi:utoa->utoa::@1#2] -- vwuz1=vwuc1 
    lda #<printf_uint.uvalue
    sta.z value
    lda #>printf_uint.uvalue
    sta.z value+1
    // [143] phi utoa::digit#2 = 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 
    lda #0
    sta.z digit
    jmp __b1
    // utoa::@1
  __b1:
    // [144] if(utoa::digit#2<utoa::max_digits#1-1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #max_digits-1
    bcc __b2
    jmp __b3
    // utoa::@3
  __b3:
    // [145] utoa::$11 = (char)utoa::value#2 -- vbuxx=_byte_vwuz1 
    ldx.z value
    // [146] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // [147] utoa::buffer#3 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [148] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (buffer),y
    jmp __breturn
    // utoa::@return
  __breturn:
    // [149] return 
    rts
    // utoa::@2
  __b2:
    // [150] utoa::$10 = utoa::digit#2 << 1 -- vbuaa=vbuz1_rol_1 
    lda.z digit
    asl
    // [151] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] -- vwuz1=pwuc1_derefidx_vbuaa 
    tay
    lda RADIX_DECIMAL_VALUES,y
    sta.z digit_value
    lda RADIX_DECIMAL_VALUES+1,y
    sta.z digit_value+1
    // [152] if(0!=utoa::started#2) goto utoa::@5 -- 0_neq_vbuxx_then_la1 
    cpx #0
    bne __b5
    jmp __b7
    // utoa::@7
  __b7:
    // [153] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 -- vwuz1_ge_vwuz2_then_la1 
    lda.z digit_value+1
    cmp.z value+1
    bne !+
    lda.z digit_value
    cmp.z value
    beq __b5
  !:
    bcc __b5
    // [154] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4]
  __b4_from___b7:
    // [154] phi utoa::buffer#14 = utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy 
    // [154] phi utoa::started#4 = utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy 
    // [154] phi utoa::value#6 = utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy 
    jmp __b4
    // utoa::@4
  __b4:
    // [155] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [143] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
  __b1_from___b4:
    // [143] phi utoa::buffer#11 = utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy 
    // [143] phi utoa::started#2 = utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy 
    // [143] phi utoa::value#2 = utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy 
    // [143] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy 
    jmp __b1
    // utoa::@5
  __b5:
    // [156] utoa_append::buffer#0 = utoa::buffer#11
    // [157] utoa_append::value#0 = utoa::value#2
    // [158] utoa_append::sub#0 = utoa::digit_value#0
    // [159] call utoa_append
    // [290] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
  utoa_append_from___b5:
    jsr utoa_append
    // [160] utoa_append::return#0 = utoa_append::value#2
    jmp __b6
    // utoa::@6
  __b6:
    // [161] utoa::value#0 = utoa_append::return#0
    // [162] utoa::buffer#4 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [154] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
  __b4_from___b6:
    // [154] phi utoa::buffer#14 = utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy 
    // [154] phi utoa::started#4 = 1 [phi:utoa::@6->utoa::@4#1] -- vbuxx=vbuc1 
    ldx #1
    // [154] phi utoa::value#6 = utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy 
    jmp __b4
}
  // printf_number_buffer
// Print the contents of the number buffer using a specific format.
// This handles minimum length, zero-filling, and left/right justification from the format
// void printf_number_buffer(__zp($f) void (*putc)(char), __zp($e) char buffer_sign, char *buffer_digits, __register(X) char format_min_length, __zp($b) char format_justify_left, char format_sign_always, __zp($d) char format_zero_padding, __zp($17) char format_upper_case, char format_radix)
printf_number_buffer: {
    .label __19 = $19
    .label buffer_sign = $e
    .label padding = $18
    .label format_zero_padding = $d
    .label putc = $f
    .label format_justify_left = $b
    .label format_upper_case = $17
    // [164] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1 -- 0_eq_vbuxx_then_la1 
    cpx #0
    beq __b1_from_printf_number_buffer
    // [165] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6]
  __b6_from_printf_number_buffer:
    jmp __b6
    // printf_number_buffer::@6
  __b6:
    // [166] call strlen
    // [297] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen]
  strlen_from___b6:
    jsr strlen
    // [167] strlen::return#2 = strlen::len#2
    jmp __b14
    // printf_number_buffer::@14
  __b14:
    // [168] printf_number_buffer::$19 = strlen::return#2
    // [169] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsyy=_sbyte_vwuz1 
    // There is a minimum length - work out the padding
    ldy.z __19
    // [170] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- 0_eq_vbuz1_then_la1 
    lda.z buffer_sign
    beq __b13_from___b14
    jmp __b7
    // printf_number_buffer::@7
  __b7:
    // [171] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsyy=_inc_vbsyy 
    iny
    // [172] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13]
  __b13_from___b14:
  __b13_from___b7:
    // [172] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy 
    jmp __b13
    // printf_number_buffer::@13
  __b13:
    // [173] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 -- vbsz1=vbsxx_minus_vbsyy 
    txa
    sty.z $ff
    sec
    sbc.z $ff
    sta.z padding
    // [174] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 
    lda.z padding
    cmp #0
    bpl __b21_from___b13
    // [176] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1]
  __b1_from_printf_number_buffer:
  __b1_from___b13:
    // [176] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 
    lda #0
    sta.z padding
    jmp __b1
    // [175] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21]
  __b21_from___b13:
    jmp __b21
    // printf_number_buffer::@21
  __b21:
    // [176] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1]
  __b1_from___b21:
    // [176] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy 
    jmp __b1
    // printf_number_buffer::@1
  __b1:
    // [177] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 
    lda.z format_justify_left
    bne __b2
    jmp __b17
    // printf_number_buffer::@17
  __b17:
    // [178] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 
    lda.z format_zero_padding
    bne __b2
    jmp __b16
    // printf_number_buffer::@16
  __b16:
    // [179] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- 0_neq_vbsz1_then_la1 
    lda.z padding
    cmp #0
    bne __b8
    jmp __b2
    // printf_number_buffer::@8
  __b8:
    // [180] printf_padding::putc#0 = printf_number_buffer::putc#10
    // [181] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 
    lda.z padding
    sta.z printf_padding.length
    // [182] call printf_padding
    // [303] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding]
  printf_padding_from___b8:
    // [303] phi printf_padding::putc#5 = printf_padding::putc#0 [phi:printf_number_buffer::@8->printf_padding#0] -- register_copy 
    // [303] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@8->printf_padding#1] -- vbuz1=vbuc1 
    lda #' '
    sta.z printf_padding.pad
    // [303] phi printf_padding::length#4 = printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#2] -- register_copy 
    jsr printf_padding
    jmp __b2
    // printf_number_buffer::@2
  __b2:
    // [183] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1 
    lda.z buffer_sign
    beq __b3
    jmp __b9
    // printf_number_buffer::@9
  __b9:
    // [184] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1 
    lda.z buffer_sign
    pha
    // [185] callexecute *printf_number_buffer::putc#10  -- call__deref_pprz1 
    jsr icall2
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    jmp __b3
    // printf_number_buffer::@3
  __b3:
    // [187] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1 
    lda.z format_zero_padding
    beq __b4
    jmp __b18
    // printf_number_buffer::@18
  __b18:
    // [188] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- 0_neq_vbsz1_then_la1 
    lda.z padding
    cmp #0
    bne __b10
    jmp __b4
    // printf_number_buffer::@10
  __b10:
    // [189] printf_padding::putc#1 = printf_number_buffer::putc#10
    // [190] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 
    lda.z padding
    sta.z printf_padding.length
    // [191] call printf_padding
    // [303] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding]
  printf_padding_from___b10:
    // [303] phi printf_padding::putc#5 = printf_padding::putc#1 [phi:printf_number_buffer::@10->printf_padding#0] -- register_copy 
    // [303] phi printf_padding::pad#5 = '0' [phi:printf_number_buffer::@10->printf_padding#1] -- vbuz1=vbuc1 
    lda #'0'
    sta.z printf_padding.pad
    // [303] phi printf_padding::length#4 = printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#2] -- register_copy 
    jsr printf_padding
    jmp __b4
    // printf_number_buffer::@4
  __b4:
    // [192] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- 0_eq_vbuz1_then_la1 
    lda.z format_upper_case
    beq __b5
    // [193] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11]
  __b11_from___b4:
    jmp __b11
    // printf_number_buffer::@11
  __b11:
    // [194] call strupr
    // [311] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr]
  strupr_from___b11:
    jsr strupr
    jmp __b5
    // printf_number_buffer::@5
  __b5:
    // [195] printf_str::putc#0 = printf_number_buffer::putc#10
    // [196] call printf_str
    // [86] phi from printf_number_buffer::@5 to printf_str [phi:printf_number_buffer::@5->printf_str]
  printf_str_from___b5:
    // [86] phi printf_str::putc#12 = printf_str::putc#0 [phi:printf_number_buffer::@5->printf_str#0] -- register_copy 
    // [86] phi printf_str::s#12 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->printf_str#1] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z printf_str.s
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b15
    // printf_number_buffer::@15
  __b15:
    // [197] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- 0_eq_vbuz1_then_la1 
    lda.z format_justify_left
    beq __breturn
    jmp __b20
    // printf_number_buffer::@20
  __b20:
    // [198] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- 0_neq_vbuz1_then_la1 
    lda.z format_zero_padding
    bne __breturn
    jmp __b19
    // printf_number_buffer::@19
  __b19:
    // [199] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- 0_neq_vbsz1_then_la1 
    lda.z padding
    cmp #0
    bne __b12
    jmp __breturn
    // printf_number_buffer::@12
  __b12:
    // [200] printf_padding::putc#2 = printf_number_buffer::putc#10
    // [201] printf_padding::length#2 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 
    lda.z padding
    sta.z printf_padding.length
    // [202] call printf_padding
    // [303] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding]
  printf_padding_from___b12:
    // [303] phi printf_padding::putc#5 = printf_padding::putc#2 [phi:printf_number_buffer::@12->printf_padding#0] -- register_copy 
    // [303] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@12->printf_padding#1] -- vbuz1=vbuc1 
    lda #' '
    sta.z printf_padding.pad
    // [303] phi printf_padding::length#4 = printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#2] -- register_copy 
    jsr printf_padding
    jmp __breturn
    // printf_number_buffer::@return
  __breturn:
    // [203] return 
    rts
    // Outside Flow
  icall2:
    jmp (putc)
}
  // legal
// Checks is a placement of the queen on the board is legal.
// Checks the passed (row, column) against all queens placed on the board on lower rows.
// If no conflict for desired position returns 1 otherwise returns 0
// __register(A) char legal(__zp($a) char row, __zp($27) char column)
legal: {
    .label row = $a
    .label column = $27
    .label diff1_return = $b
    // [205] phi from legal to legal::@1 [phi:legal->legal::@1]
  __b1_from_legal:
    // [205] phi legal::i#10 = 1 [phi:legal->legal::@1#0] -- vbuyy=vbuc1 
    ldy #1
    jmp __b1
    // legal::@1
  __b1:
    // [206] legal::$0 = legal::row#0 - 1 -- vbuxx=vbuz1_minus_1 
    ldx.z row
    dex
    // [207] if(legal::i#10<=legal::$0) goto legal::@2 -- vbuyy_le_vbuxx_then_la1 
    sty.z $ff
    cpx.z $ff
    bcs __b2
    // [208] phi from legal::@1 to legal::@return [phi:legal::@1->legal::@return]
  __breturn_from___b1:
    // [208] phi legal::return#4 = 1 [phi:legal::@1->legal::@return#0] -- vbuaa=vbuc1 
    lda #1
    jmp __breturn
    // [208] phi from legal::@2 legal::@5 to legal::@return [phi:legal::@2/legal::@5->legal::@return]
  __breturn_from___b2:
  __breturn_from___b5:
    // [208] phi legal::return#4 = 0 [phi:legal::@2/legal::@5->legal::@return#0] -- vbuaa=vbuc1 
    lda #0
    jmp __breturn
    // legal::@return
  __breturn:
    // [209] return 
    rts
    // legal::@2
  __b2:
    // [210] if(board[legal::i#10]==legal::column#0) goto legal::@return -- pbuc1_derefidx_vbuyy_eq_vbuz1_then_la1 
    lda board,y
    cmp.z column
    beq __breturn_from___b2
    jmp __b4
    // legal::@4
  __b4:
    // [211] legal::diff1_a#0 = board[legal::i#10] -- vbuaa=pbuc1_derefidx_vbuyy 
    lda board,y
    jmp diff1
    // legal::diff1
  diff1:
    // [212] if(legal::diff1_a#0<legal::column#0) goto legal::diff1_@1 -- vbuaa_lt_vbuz1_then_la1 
    cmp.z column
    bcc diff1___b1
    jmp diff1___b3
    // legal::diff1_@3
  diff1___b3:
    // [213] legal::diff1_return#1 = legal::diff1_a#0 - legal::column#0 -- vbuz1=vbuaa_minus_vbuz2 
    sec
    sbc.z column
    sta.z diff1_return
    // [214] phi from legal::diff1_@1 legal::diff1_@3 to legal::diff1_@return [phi:legal::diff1_@1/legal::diff1_@3->legal::diff1_@return]
  diff1___breturn_from_diff1___b1:
  diff1___breturn_from_diff1___b3:
    // [214] phi legal::diff1_return#2 = legal::diff1_return#0 [phi:legal::diff1_@1/legal::diff1_@3->legal::diff1_@return#0] -- register_copy 
    jmp diff1___breturn
    // legal::diff1_@return
  diff1___breturn:
    jmp diff2
    // legal::diff2
  diff2:
    // [215] if(legal::i#10<legal::row#0) goto legal::diff2_@1 -- vbuyy_lt_vbuz1_then_la1 
    cpy.z row
    bcc diff2___b1
    jmp diff2___b3
    // legal::diff2_@3
  diff2___b3:
    // [216] legal::diff2_return#1 = legal::i#10 - legal::row#0 -- vbuaa=vbuyy_minus_vbuz1 
    tya
    sec
    sbc.z row
    // [217] phi from legal::diff2_@1 legal::diff2_@3 to legal::diff2_@return [phi:legal::diff2_@1/legal::diff2_@3->legal::diff2_@return]
  diff2___breturn_from_diff2___b1:
  diff2___breturn_from_diff2___b3:
    // [217] phi legal::diff2_return#2 = legal::diff2_return#0 [phi:legal::diff2_@1/legal::diff2_@3->legal::diff2_@return#0] -- register_copy 
    jmp diff2___breturn
    // legal::diff2_@return
  diff2___breturn:
    jmp __b5
    // legal::@5
  __b5:
    // [218] if(legal::diff1_return#2!=legal::diff2_return#2) goto legal::@3 -- vbuz1_neq_vbuaa_then_la1 
    cmp.z diff1_return
    bne __b3
    jmp __breturn_from___b5
    // legal::@3
  __b3:
    // [219] legal::i#1 = ++ legal::i#10 -- vbuyy=_inc_vbuyy 
    iny
    // [205] phi from legal::@3 to legal::@1 [phi:legal::@3->legal::@1]
  __b1_from___b3:
    // [205] phi legal::i#10 = legal::i#1 [phi:legal::@3->legal::@1#0] -- register_copy 
    jmp __b1
    // legal::diff2_@1
  diff2___b1:
    // [220] legal::diff2_return#0 = legal::row#0 - legal::i#10 -- vbuaa=vbuz1_minus_vbuyy 
    tya
    eor #$ff
    sec
    adc.z row
    jmp diff2___breturn_from_diff2___b1
    // legal::diff1_@1
  diff1___b1:
    // [221] legal::diff1_return#0 = legal::column#0 - legal::diff1_a#0 -- vbuz1=vbuz2_minus_vbuaa 
    eor #$ff
    sec
    adc.z column
    sta.z diff1_return
    jmp diff1___breturn_from_diff1___b1
}
  // print
// Print the board with a legal placement.
print: {
    .label i = $27
    .label i1 = $c
    .label j = $d
    // [223] call gotoxy
    // [49] phi from print to gotoxy [phi:print->gotoxy]
  gotoxy_from_print:
    // [49] phi gotoxy::y#4 = 5 [phi:print->gotoxy#0] -- vbuxx=vbuc1 
    ldx #5
    jsr gotoxy
    // [224] phi from print to print::@11 [phi:print->print::@11]
  __b11_from_print:
    jmp __b11
    // print::@11
  __b11:
    // [225] call printf_str
    // [86] phi from print::@11 to printf_str [phi:print::@11->printf_str]
  printf_str_from___b11:
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@11->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s [phi:print::@11->printf_str#1] -- pbuz1=pbuc1 
    lda #<s
    sta.z printf_str.s
    lda #>s
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b12
    // print::@12
  __b12:
    // [226] printf_ulong::uvalue#1 = count#2 -- vduz1=vduz2 
    lda.z count
    sta.z printf_ulong.uvalue
    lda.z count+1
    sta.z printf_ulong.uvalue+1
    lda.z count+2
    sta.z printf_ulong.uvalue+2
    lda.z count+3
    sta.z printf_ulong.uvalue+3
    // [227] call printf_ulong
    // [119] phi from print::@12 to printf_ulong [phi:print::@12->printf_ulong]
  printf_ulong_from___b12:
    // [119] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#1 [phi:print::@12->printf_ulong#0] -- register_copy 
    jsr printf_ulong
    // [228] phi from print::@12 to print::@13 [phi:print::@12->print::@13]
  __b13_from___b12:
    jmp __b13
    // print::@13
  __b13:
    // [229] call printf_str
    // [86] phi from print::@13 to printf_str [phi:print::@13->printf_str]
  printf_str_from___b13:
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@13->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s1 [phi:print::@13->printf_str#1] -- pbuz1=pbuc1 
    lda #<s1
    sta.z printf_str.s
    lda #>s1
    sta.z printf_str.s+1
    jsr printf_str
    // [230] phi from print::@13 to print::@1 [phi:print::@13->print::@1]
  __b1_from___b13:
    // [230] phi print::i#2 = 1 [phi:print::@13->print::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z i
    jmp __b1
    // print::@1
  __b1:
    // [231] if(print::i#2<8+1) goto print::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z i
    cmp #8+1
    bcc __b2
    // [232] phi from print::@1 to print::@3 [phi:print::@1->print::@3]
  __b3_from___b1:
    // [232] phi print::i1#2 = 1 [phi:print::@1->print::@3#0] -- vbuz1=vbuc1 
    lda #1
    sta.z i1
    jmp __b3
    // print::@3
  __b3:
    // [233] if(print::i1#2<8+1) goto print::@4 -- vbuz1_lt_vbuc1_then_la1 
    lda.z i1
    cmp #8+1
    bcc __b4_from___b3
    jmp __breturn
    // print::@return
  __breturn:
    // [234] return 
    rts
    // [235] phi from print::@3 to print::@4 [phi:print::@3->print::@4]
  __b4_from___b3:
    jmp __b4
    // print::@4
  __b4:
    // [236] call printf_str
    // [86] phi from print::@4 to printf_str [phi:print::@4->printf_str]
  printf_str_from___b4:
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@4->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = s3 [phi:print::@4->printf_str#1] -- pbuz1=pbuc1 
    lda #<@s3
    sta.z printf_str.s
    lda #>@s3
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b15
    // print::@15
  __b15:
    // [237] printf_uchar::uvalue#1 = print::i1#2 -- vbuxx=vbuz1 
    ldx.z i1
    // [238] call printf_uchar
    // [321] phi from print::@15 to printf_uchar [phi:print::@15->printf_uchar]
  printf_uchar_from___b15:
    // [321] phi printf_uchar::uvalue#2 = printf_uchar::uvalue#1 [phi:print::@15->printf_uchar#0] -- register_copy 
    jsr printf_uchar
    // [239] phi from print::@15 to print::@5 [phi:print::@15->print::@5]
  __b5_from___b15:
    // [239] phi print::j#2 = 1 [phi:print::@15->print::@5#0] -- vbuz1=vbuc1 
    lda #1
    sta.z j
    jmp __b5
    // print::@5
  __b5:
    // [240] if(print::j#2<8+1) goto print::@6 -- vbuz1_lt_vbuc1_then_la1 
    lda.z j
    cmp #8+1
    bcc __b6
    jmp __b7
    // print::@7
  __b7:
    // [241] print::i1#1 = ++ print::i1#2 -- vbuz1=_inc_vbuz1 
    inc.z i1
    // [232] phi from print::@7 to print::@3 [phi:print::@7->print::@3]
  __b3_from___b7:
    // [232] phi print::i1#2 = print::i1#1 [phi:print::@7->print::@3#0] -- register_copy 
    jmp __b3
    // print::@6
  __b6:
    // [242] if(board[print::i1#2]==print::j#2) goto print::@8 -- pbuc1_derefidx_vbuz1_eq_vbuz2_then_la1 
    ldy.z i1
    lda board,y
    cmp.z j
    beq __b8_from___b6
    // [243] phi from print::@6 to print::@10 [phi:print::@6->print::@10]
  __b10_from___b6:
    jmp __b10
    // print::@10
  __b10:
    // [244] call printf_str
    // [86] phi from print::@10 to printf_str [phi:print::@10->printf_str]
  printf_str_from___b10:
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@10->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s4 [phi:print::@10->printf_str#1] -- pbuz1=pbuc1 
    lda #<s4
    sta.z printf_str.s
    lda #>s4
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b9
    // print::@9
  __b9:
    // [245] print::j#1 = ++ print::j#2 -- vbuz1=_inc_vbuz1 
    inc.z j
    // [239] phi from print::@9 to print::@5 [phi:print::@9->print::@5]
  __b5_from___b9:
    // [239] phi print::j#2 = print::j#1 [phi:print::@9->print::@5#0] -- register_copy 
    jmp __b5
    // [246] phi from print::@6 to print::@8 [phi:print::@6->print::@8]
  __b8_from___b6:
    jmp __b8
    // print::@8
  __b8:
    // [247] call printf_str
    // [86] phi from print::@8 to printf_str [phi:print::@8->printf_str]
  printf_str_from___b8:
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@8->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s3 [phi:print::@8->printf_str#1] -- pbuz1=pbuc1 
    lda #<s3
    sta.z printf_str.s
    lda #>s3
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b9
    // print::@2
  __b2:
    // [248] printf_uchar::uvalue#0 = print::i#2 -- vbuxx=vbuz1 
    ldx.z i
    // [249] call printf_uchar
    // [321] phi from print::@2 to printf_uchar [phi:print::@2->printf_uchar]
  printf_uchar_from___b2:
    // [321] phi printf_uchar::uvalue#2 = printf_uchar::uvalue#0 [phi:print::@2->printf_uchar#0] -- register_copy 
    jsr printf_uchar
    jmp __b14
    // print::@14
  __b14:
    // [250] print::i#1 = ++ print::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [230] phi from print::@14 to print::@1 [phi:print::@14->print::@1]
  __b1_from___b14:
    // [230] phi print::i#2 = print::i#1 [phi:print::@14->print::@1#0] -- register_copy 
    jmp __b1
  .segment Data
    s: .text @"\n#"
    .byte 0
    s1: .text @":\n "
    .byte 0
    s3: .text "Q"
    .byte 0
    s4: .text "-"
    .byte 0
}
.segment Code
  // ultoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void ultoa(__zp(6) unsigned long value, __zp($f) char *buffer, char radix)
ultoa: {
    .label digit_value = $2a
    .label buffer = $f
    .label digit = $e
    .label value = 6
    // [252] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1]
  __b1_from_ultoa:
    // [252] phi ultoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer+1
    // [252] phi ultoa::started#2 = 0 [phi:ultoa->ultoa::@1#1] -- vbuxx=vbuc1 
    ldx #0
    // [252] phi ultoa::value#2 = ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy 
    // [252] phi ultoa::digit#2 = 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 
    lda #0
    sta.z digit
    jmp __b1
    // ultoa::@1
  __b1:
    // [253] if(ultoa::digit#2<$a-1) goto ultoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #$a-1
    bcc __b2
    jmp __b3
    // ultoa::@3
  __b3:
    // [254] ultoa::$11 = (char)ultoa::value#2 -- vbuaa=_byte_vduz1 
    lda.z value
    // [255] *ultoa::buffer#11 = DIGITS[ultoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuaa 
    tay
    lda DIGITS,y
    ldy #0
    sta (buffer),y
    // [256] ultoa::buffer#3 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [257] *ultoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (buffer),y
    jmp __breturn
    // ultoa::@return
  __breturn:
    // [258] return 
    rts
    // ultoa::@2
  __b2:
    // [259] ultoa::$10 = ultoa::digit#2 << 2 -- vbuaa=vbuz1_rol_2 
    lda.z digit
    asl
    asl
    // [260] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] -- vduz1=pduc1_derefidx_vbuaa 
    tay
    lda RADIX_DECIMAL_VALUES_LONG,y
    sta.z digit_value
    lda RADIX_DECIMAL_VALUES_LONG+1,y
    sta.z digit_value+1
    lda RADIX_DECIMAL_VALUES_LONG+2,y
    sta.z digit_value+2
    lda RADIX_DECIMAL_VALUES_LONG+3,y
    sta.z digit_value+3
    // [261] if(0!=ultoa::started#2) goto ultoa::@5 -- 0_neq_vbuxx_then_la1 
    cpx #0
    bne __b5
    jmp __b7
    // ultoa::@7
  __b7:
    // [262] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 
    lda.z value+3
    cmp.z digit_value+3
    bcc !+
    bne __b5
    lda.z value+2
    cmp.z digit_value+2
    bcc !+
    bne __b5
    lda.z value+1
    cmp.z digit_value+1
    bcc !+
    bne __b5
    lda.z value
    cmp.z digit_value
    bcs __b5
  !:
    // [263] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4]
  __b4_from___b7:
    // [263] phi ultoa::buffer#14 = ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy 
    // [263] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy 
    // [263] phi ultoa::value#6 = ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy 
    jmp __b4
    // ultoa::@4
  __b4:
    // [264] ultoa::digit#1 = ++ ultoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [252] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1]
  __b1_from___b4:
    // [252] phi ultoa::buffer#11 = ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy 
    // [252] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy 
    // [252] phi ultoa::value#2 = ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy 
    // [252] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy 
    jmp __b1
    // ultoa::@5
  __b5:
    // [265] ultoa_append::buffer#0 = ultoa::buffer#11
    // [266] ultoa_append::value#0 = ultoa::value#2
    // [267] ultoa_append::sub#0 = ultoa::digit_value#0
    // [268] call ultoa_append
    // [328] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append]
  ultoa_append_from___b5:
    jsr ultoa_append
    // [269] ultoa_append::return#0 = ultoa_append::value#2
    jmp __b6
    // ultoa::@6
  __b6:
    // [270] ultoa::value#0 = ultoa_append::return#0
    // [271] ultoa::buffer#4 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [263] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
  __b4_from___b6:
    // [263] phi ultoa::buffer#14 = ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy 
    // [263] phi ultoa::started#4 = 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuxx=vbuc1 
    ldx #1
    // [263] phi ultoa::value#6 = ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy 
    jmp __b4
}
  // memcpy
// Copy block of memory (forwards)
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
// void * memcpy(__zp($30) void *destination, __zp($11) void *source, unsigned int num)
memcpy: {
    .label src_end = $2e
    .label dst = $30
    .label src = $11
    .label source = $11
    .label destination = $30
    // [273] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 -- pbuz1=pbuz2_plus_vwuc1 
    lda.z source
    clc
    adc #<$19*$28-$28
    sta.z src_end
    lda.z source+1
    adc #>$19*$28-$28
    sta.z src_end+1
    // [274] memcpy::src#4 = (char *)memcpy::source#2
    // [275] memcpy::dst#4 = (char *)memcpy::destination#2
    // [276] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
  __b1_from_memcpy:
  __b1_from___b2:
    // [276] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy 
    // [276] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy 
    jmp __b1
    // memcpy::@1
  __b1:
    // [277] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 -- pbuz1_neq_pbuz2_then_la1 
    lda.z src+1
    cmp.z src_end+1
    bne __b2
    lda.z src
    cmp.z src_end
    bne __b2
    jmp __breturn
    // memcpy::@return
  __breturn:
    // [278] return 
    rts
    // memcpy::@2
  __b2:
    // [279] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (src),y
    ldy #0
    sta (dst),y
    // [280] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [281] memcpy::src#1 = ++ memcpy::src#2 -- pbuz1=_inc_pbuz1 
    inc.z src
    bne !+
    inc.z src+1
  !:
    jmp __b1_from___b2
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(__zp($11) void *str, __register(X) char c, unsigned int num)
memset: {
    .label end = $30
    .label dst = $11
    .label str = $11
    jmp __b1
    // memset::@1
  __b1:
    // [283] memset::end#0 = (char *)memset::str#3 + $28 -- pbuz1=pbuz2_plus_vbuc1 
    lda #$28
    clc
    adc.z str
    sta.z end
    lda #0
    adc.z str+1
    sta.z end+1
    // [284] memset::dst#4 = (char *)memset::str#3
    // [285] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
  __b2_from___b1:
  __b2_from___b3:
    // [285] phi memset::dst#2 = memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy 
    jmp __b2
    // memset::@2
  __b2:
    // [286] if(memset::dst#2!=memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 
    lda.z dst+1
    cmp.z end+1
    bne __b3
    lda.z dst
    cmp.z end
    bne __b3
    jmp __breturn
    // memset::@return
  __breturn:
    // [287] return 
    rts
    // memset::@3
  __b3:
    // [288] *memset::dst#2 = memset::c#4 -- _deref_pbuz1=vbuxx 
    txa
    ldy #0
    sta (dst),y
    // [289] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2_from___b3
}
  // utoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp($f) unsigned int utoa_append(__zp($13) char *buffer, __zp($f) unsigned int value, __zp($28) unsigned int sub)
utoa_append: {
    .label buffer = $13
    .label value = $f
    .label sub = $28
    .label return = $f
    // [291] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
  __b1_from_utoa_append:
    // [291] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [291] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy 
    jmp __b1
    // utoa_append::@1
  __b1:
    // [292] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda.z sub+1
    cmp.z value+1
    bne !+
    lda.z sub
    cmp.z value
    beq __b2
  !:
    bcc __b2
    jmp __b3
    // utoa_append::@3
  __b3:
    // [293] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    jmp __breturn
    // utoa_append::@return
  __breturn:
    // [294] return 
    rts
    // utoa_append::@2
  __b2:
    // [295] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuxx=_inc_vbuxx 
    inx
    // [296] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z value
    sec
    sbc.z sub
    sta.z value
    lda.z value+1
    sbc.z sub+1
    sta.z value+1
    // [291] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
  __b1_from___b2:
    // [291] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy 
    // [291] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // strlen
// Computes the length of the string str up to but not including the terminating null character.
// __zp($19) unsigned int strlen(__zp($13) char *str)
strlen: {
    .label len = $19
    .label str = $13
    .label return = $19
    // [298] phi from strlen to strlen::@1 [phi:strlen->strlen::@1]
  __b1_from_strlen:
    // [298] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 
    lda #<0
    sta.z len
    lda #>0
    sta.z len+1
    // [298] phi strlen::str#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z str
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z str+1
    jmp __b1
    // strlen::@1
  __b1:
    // [299] if(0!=*strlen::str#2) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    jmp __breturn
    // strlen::@return
  __breturn:
    // [300] return 
    rts
    // strlen::@2
  __b2:
    // [301] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1 
    inc.z len
    bne !+
    inc.z len+1
  !:
    // [302] strlen::str#0 = ++ strlen::str#2 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    // [298] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
  __b1_from___b2:
    // [298] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy 
    // [298] phi strlen::str#2 = strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy 
    jmp __b1
}
  // printf_padding
// Print a padding char a number of times
// void printf_padding(__zp($f) void (*putc)(char), __zp($15) char pad, __zp($32) char length)
printf_padding: {
    .label i = $16
    .label putc = $f
    .label length = $32
    .label pad = $15
    // [304] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1]
  __b1_from_printf_padding:
    // [304] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // printf_padding::@1
  __b1:
    // [305] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 -- vbuz1_lt_vbuz2_then_la1 
    lda.z i
    cmp.z length
    bcc __b2
    jmp __breturn
    // printf_padding::@return
  __breturn:
    // [306] return 
    rts
    // printf_padding::@2
  __b2:
    // [307] stackpush(char) = printf_padding::pad#5 -- _stackpushbyte_=vbuz1 
    lda.z pad
    pha
    // [308] callexecute *printf_padding::putc#5  -- call__deref_pprz1 
    jsr icall3
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    jmp __b3
    // printf_padding::@3
  __b3:
    // [310] printf_padding::i#1 = ++ printf_padding::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [304] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1]
  __b1_from___b3:
    // [304] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy 
    jmp __b1
    // Outside Flow
  icall3:
    jmp (putc)
}
  // strupr
// Converts a string to uppercase.
// char * strupr(char *str)
strupr: {
    .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    .label src = $28
    // [312] phi from strupr to strupr::@1 [phi:strupr->strupr::@1]
  __b1_from_strupr:
    // [312] phi strupr::src#2 = strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z src
    lda #>str
    sta.z src+1
    jmp __b1
    // strupr::@1
  __b1:
    // [313] if(0!=*strupr::src#2) goto strupr::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (src),y
    cmp #0
    bne __b2
    jmp __breturn
    // strupr::@return
  __breturn:
    // [314] return 
    rts
    // strupr::@2
  __b2:
    // [315] toupper::ch#0 = *strupr::src#2 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (src),y
    // [316] call toupper
    jsr toupper
    // [317] toupper::return#3 = toupper::return#2
    jmp __b3
    // strupr::@3
  __b3:
    // [318] strupr::$0 = toupper::return#3
    // [319] *strupr::src#2 = strupr::$0 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (src),y
    // [320] strupr::src#1 = ++ strupr::src#2 -- pbuz1=_inc_pbuz1 
    inc.z src
    bne !+
    inc.z src+1
  !:
    // [312] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
  __b1_from___b3:
    // [312] phi strupr::src#2 = strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy 
    jmp __b1
}
  // printf_uchar
// Print an unsigned char using a specific format
// void printf_uchar(void (*putc)(char), __register(X) char uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_uchar: {
    jmp __b1
    // printf_uchar::@1
  __b1:
    // [322] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // [323] uctoa::value#1 = printf_uchar::uvalue#2
    // [324] call uctoa
  // Format number into buffer
    // [340] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa]
  uctoa_from___b1:
    jsr uctoa
    jmp __b2
    // printf_uchar::@2
  __b2:
    // [325] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 
    lda printf_buffer
    sta.z printf_number_buffer.buffer_sign
    // [326] call printf_number_buffer
  // Print using format
    // [163] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer]
  printf_number_buffer_from___b2:
    // [163] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#0] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_upper_case
    // [163] phi printf_number_buffer::putc#10 = &cputc [phi:printf_uchar::@2->printf_number_buffer#1] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_number_buffer.putc
    lda #>cputc
    sta.z printf_number_buffer.putc+1
    // [163] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy 
    // [163] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#3] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_zero_padding
    // [163] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#4] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_justify_left
    // [163] phi printf_number_buffer::format_min_length#3 = 0 [phi:printf_uchar::@2->printf_number_buffer#5] -- vbuxx=vbuc1 
    ldx #0
    jsr printf_number_buffer
    jmp __breturn
    // printf_uchar::@return
  __breturn:
    // [327] return 
    rts
}
  // ultoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp(6) unsigned long ultoa_append(__zp($f) char *buffer, __zp(6) unsigned long value, __zp($2a) unsigned long sub)
ultoa_append: {
    .label buffer = $f
    .label value = 6
    .label sub = $2a
    .label return = 6
    // [329] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1]
  __b1_from_ultoa_append:
    // [329] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [329] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy 
    jmp __b1
    // ultoa_append::@1
  __b1:
    // [330] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 
    lda.z value+3
    cmp.z sub+3
    bcc !+
    bne __b2
    lda.z value+2
    cmp.z sub+2
    bcc !+
    bne __b2
    lda.z value+1
    cmp.z sub+1
    bcc !+
    bne __b2
    lda.z value
    cmp.z sub
    bcs __b2
  !:
    jmp __b3
    // ultoa_append::@3
  __b3:
    // [331] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    jmp __breturn
    // ultoa_append::@return
  __breturn:
    // [332] return 
    rts
    // ultoa_append::@2
  __b2:
    // [333] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuxx=_inc_vbuxx 
    inx
    // [334] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 
    lda.z value
    sec
    sbc.z sub
    sta.z value
    lda.z value+1
    sbc.z sub+1
    sta.z value+1
    lda.z value+2
    sbc.z sub+2
    sta.z value+2
    lda.z value+3
    sbc.z sub+3
    sta.z value+3
    // [329] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1]
  __b1_from___b2:
    // [329] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy 
    // [329] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // toupper
// Convert lowercase alphabet to uppercase
// Returns uppercase equivalent to c, if such value exists, else c remains unchanged
// __register(A) char toupper(__register(A) char ch)
toupper: {
    // [335] if(toupper::ch#0<'a') goto toupper::@return -- vbuaa_lt_vbuc1_then_la1 
    cmp #'a'
    bcc __breturn_from_toupper
    jmp __b2
    // toupper::@2
  __b2:
    // [336] if(toupper::ch#0<='z') goto toupper::@1 -- vbuaa_le_vbuc1_then_la1 
    cmp #'z'
    bcc __b1
    beq __b1
    // [338] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return]
  __breturn_from_toupper:
  __breturn_from___b1:
  __breturn_from___b2:
    // [338] phi toupper::return#2 = toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy 
    jmp __breturn
    // toupper::@1
  __b1:
    // [337] toupper::return#0 = toupper::ch#0 + 'A'-'a' -- vbuaa=vbuaa_plus_vbuc1 
    clc
    adc #'A'-'a'
    jmp __breturn_from___b1
    // toupper::@return
  __breturn:
    // [339] return 
    rts
}
  // uctoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void uctoa(__register(X) char value, __zp($19) char *buffer, char radix)
uctoa: {
    .label digit_value = $32
    .label buffer = $19
    .label digit = $17
    .label started = $18
    // [341] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1]
  __b1_from_uctoa:
    // [341] phi uctoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer+1
    // [341] phi uctoa::started#2 = 0 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z started
    // [341] phi uctoa::value#2 = uctoa::value#1 [phi:uctoa->uctoa::@1#2] -- register_copy 
    // [341] phi uctoa::digit#2 = 0 [phi:uctoa->uctoa::@1#3] -- vbuz1=vbuc1 
    lda #0
    sta.z digit
    jmp __b1
    // uctoa::@1
  __b1:
    // [342] if(uctoa::digit#2<2-1) goto uctoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #2-1
    bcc __b2
    jmp __b3
    // uctoa::@3
  __b3:
    // [343] *uctoa::buffer#11 = DIGITS[uctoa::value#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // [344] uctoa::buffer#3 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [345] *uctoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    ldy #0
    sta (buffer),y
    jmp __breturn
    // uctoa::@return
  __breturn:
    // [346] return 
    rts
    // uctoa::@2
  __b2:
    // [347] uctoa::digit_value#0 = RADIX_HEXADECIMAL_VALUES_CHAR[uctoa::digit#2] -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z digit
    lda RADIX_HEXADECIMAL_VALUES_CHAR,y
    sta.z digit_value
    // [348] if(0!=uctoa::started#2) goto uctoa::@5 -- 0_neq_vbuz1_then_la1 
    lda.z started
    bne __b5
    jmp __b7
    // uctoa::@7
  __b7:
    // [349] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@5 -- vbuxx_ge_vbuz1_then_la1 
    cpx.z digit_value
    bcs __b5
    // [350] phi from uctoa::@7 to uctoa::@4 [phi:uctoa::@7->uctoa::@4]
  __b4_from___b7:
    // [350] phi uctoa::buffer#14 = uctoa::buffer#11 [phi:uctoa::@7->uctoa::@4#0] -- register_copy 
    // [350] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@7->uctoa::@4#1] -- register_copy 
    // [350] phi uctoa::value#6 = uctoa::value#2 [phi:uctoa::@7->uctoa::@4#2] -- register_copy 
    jmp __b4
    // uctoa::@4
  __b4:
    // [351] uctoa::digit#1 = ++ uctoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [341] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1]
  __b1_from___b4:
    // [341] phi uctoa::buffer#11 = uctoa::buffer#14 [phi:uctoa::@4->uctoa::@1#0] -- register_copy 
    // [341] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@4->uctoa::@1#1] -- register_copy 
    // [341] phi uctoa::value#2 = uctoa::value#6 [phi:uctoa::@4->uctoa::@1#2] -- register_copy 
    // [341] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@4->uctoa::@1#3] -- register_copy 
    jmp __b1
    // uctoa::@5
  __b5:
    // [352] uctoa_append::buffer#0 = uctoa::buffer#11
    // [353] uctoa_append::value#0 = uctoa::value#2
    // [354] uctoa_append::sub#0 = uctoa::digit_value#0
    // [355] call uctoa_append
    // [359] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append]
  uctoa_append_from___b5:
    jsr uctoa_append
    // [356] uctoa_append::return#0 = uctoa_append::value#2
    jmp __b6
    // uctoa::@6
  __b6:
    // [357] uctoa::value#0 = uctoa_append::return#0
    // [358] uctoa::buffer#4 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [350] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
  __b4_from___b6:
    // [350] phi uctoa::buffer#14 = uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy 
    // [350] phi uctoa::started#4 = 1 [phi:uctoa::@6->uctoa::@4#1] -- vbuz1=vbuc1 
    lda #1
    sta.z started
    // [350] phi uctoa::value#6 = uctoa::value#0 [phi:uctoa::@6->uctoa::@4#2] -- register_copy 
    jmp __b4
}
  // uctoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __register(X) char uctoa_append(__zp($19) char *buffer, __register(X) char value, __zp($32) char sub)
uctoa_append: {
    .label buffer = $19
    .label sub = $32
    // [360] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1]
  __b1_from_uctoa_append:
    // [360] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuyy=vbuc1 
    ldy #0
    // [360] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy 
    jmp __b1
    // uctoa_append::@1
  __b1:
    // [361] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuxx_ge_vbuz1_then_la1 
    cpx.z sub
    bcs __b2
    jmp __b3
    // uctoa_append::@3
  __b3:
    // [362] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuyy 
    lda DIGITS,y
    ldy #0
    sta (buffer),y
    jmp __breturn
    // uctoa_append::@return
  __breturn:
    // [363] return 
    rts
    // uctoa_append::@2
  __b2:
    // [364] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuyy=_inc_vbuyy 
    iny
    // [365] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuxx=vbuxx_minus_vbuz1 
    txa
    sec
    sbc.z sub
    tax
    // [360] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1]
  __b1_from___b2:
    // [360] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy 
    // [360] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // File Data
.segment Data
  // The digits used for numbers
  DIGITS: .text "0123456789abcdef"
  // Values of hexadecimal digits
  RADIX_HEXADECIMAL_VALUES_CHAR: .byte $10
  // Values of decimal digits
  RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
  // Values of decimal digits
  RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a
  // The board. board[i] holds the column position of the queen on row i. 
  board: .fill $14, 0
  s3: .text @"\n"
  .byte 0
  // Buffer used for stringified number being printed
  printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0

ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __init1
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __b6
Removing instruction jmp __b7
Removing instruction jmp __b8
Removing instruction jmp __b1
Removing instruction jmp __b9
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b5
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b5
Removing instruction jmp __b9
Removing instruction jmp __b6
Removing instruction jmp __b7
Removing instruction jmp __b8
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
Removing instruction jmp __b5
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b6
Removing instruction jmp __b6
Removing instruction jmp __b14
Removing instruction jmp __b7
Removing instruction jmp __b13
Removing instruction jmp __b21
Removing instruction jmp __b1
Removing instruction jmp __b17
Removing instruction jmp __b16
Removing instruction jmp __b2
Removing instruction jmp __b9
Removing instruction jmp __b3
Removing instruction jmp __b18
Removing instruction jmp __b4
Removing instruction jmp __b11
Removing instruction jmp __b5
Removing instruction jmp __b15
Removing instruction jmp __b20
Removing instruction jmp __b19
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b4
Removing instruction jmp diff1
Removing instruction jmp diff1___b3
Removing instruction jmp diff1___breturn
Removing instruction jmp diff2
Removing instruction jmp diff2___b3
Removing instruction jmp diff2___breturn
Removing instruction jmp __b5
Removing instruction jmp __b11
Removing instruction jmp __b12
Removing instruction jmp __b13
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b4
Removing instruction jmp __b15
Removing instruction jmp __b5
Removing instruction jmp __b7
Removing instruction jmp __b10
Removing instruction jmp __b9
Removing instruction jmp __b8
Removing instruction jmp __b14
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b6
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b6
Removing instruction jmp __b1
Removing instruction jmp __b3
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction lda #0
Removing instruction ldy.z conio_cursor_x
Removing instruction lda #0
Removing instruction lda #>0
Removing instruction lda #0
Replacing instruction ldx #0 with TAX
Replacing instruction lda #0 with TXA
Replacing instruction ldy #0 with TAY
Removing instruction lda.z padding
Replacing instruction lda #0 with TXA
Replacing instruction ldy #0 with TAY
Removing instruction ldy #0
Removing instruction lda #>0
Removing instruction lda #0
Replacing instruction ldx #0 with TAX
Removing instruction lda #0
Replacing instruction ldy #0 with TAY
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b2_from_conio_c64_init with __b1
Replacing label __b1_from_cputc with __b1
Replacing label __b1_from___b9 with __b1
Replacing label __b3_from_gotoxy with __b2
Replacing label __b1 with __b2
Replacing label __b1_from___b2 with __b1
Replacing label __b1 with __b2
Replacing label __b1_from___b9 with __b2
Replacing label __b1_from___b7 with __b2
Replacing label __b1_from___b4 with __b2
Replacing label __b1_from___b8 with __b2
Replacing label __b1_from_printf_number_buffer with __b1_from___b13
Replacing label __b13_from___b14 with __b13
Replacing label __b21_from___b13 with __b1
Replacing label __breturn_from___b2 with __breturn_from___b5
Replacing label diff2___breturn_from_diff2___b1 with __b5
Replacing label diff1___breturn_from_diff1___b1 with diff2
Replacing label __b4_from___b3 with __b4
Replacing label __b8_from___b6 with __b8
Replacing label __b1_from___b2 with __b1
Replacing label __b2_from___b3 with __b2
Replacing label __breturn_from_toupper with __breturn_from___b2
Replacing label __breturn_from___b1 with __breturn_from___b2
Removing instruction __b1_from___init1:
Removing instruction main_from___b1:
Removing instruction __b2_from_conio_c64_init:
Removing instruction __b2:
Removing instruction __b1_from___b2:
Removing instruction gotoxy_from___b1:
Removing instruction __b3_from___b2:
Removing instruction __b1_from_cputc:
Removing instruction __b2_from_main:
Removing instruction printf_str_from___b2:
Removing instruction __b3_from___b2:
Removing instruction printf_str_from___b3:
Removing instruction __b4_from___b3:
Removing instruction printf_uint_from___b4:
Removing instruction __b5_from___b4:
Removing instruction queens_from___b5:
Removing instruction __b6_from___b5:
Removing instruction printf_str_from___b6:
Removing instruction __b8_from___b7:
Removing instruction printf_str_from___b8:
Removing instruction __b1_from___b8:
Removing instruction __b1_from___b9:
Removing instruction __b3_from_gotoxy:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1:
Removing instruction __b1_from_printf_str:
Removing instruction __b1_from___b2:
Removing instruction __b1_from___b4:
Removing instruction __b1_from___b7:
Removing instruction __b1_from___b8:
Removing instruction __b1_from___b9:
Removing instruction __b1:
Removing instruction __b1_from_cscroll:
Removing instruction memcpy_from___b1:
Removing instruction __b2_from___b1:
Removing instruction memcpy_from___b2:
Removing instruction __b3_from___b2:
Removing instruction memset_from___b3:
Removing instruction __b4_from___b3:
Removing instruction memset_from___b4:
Removing instruction __b4_from___b7:
Removing instruction utoa_append_from___b5:
Removing instruction __b6_from_printf_number_buffer:
Removing instruction strlen_from___b6:
Removing instruction __b13_from___b14:
Removing instruction __b13_from___b7:
Removing instruction __b1_from_printf_number_buffer:
Removing instruction __b21_from___b13:
Removing instruction __b21:
Removing instruction __b1_from___b21:
Removing instruction __b11_from___b4:
Removing instruction strupr_from___b11:
Removing instruction printf_str_from___b5:
Removing instruction __breturn_from___b2:
Removing instruction diff1___breturn_from_diff1___b1:
Removing instruction diff1___breturn_from_diff1___b3:
Removing instruction diff1___breturn:
Removing instruction diff2___breturn_from_diff2___b1:
Removing instruction diff2___breturn_from_diff2___b3:
Removing instruction diff2___breturn:
Removing instruction __b11_from_print:
Removing instruction printf_str_from___b11:
Removing instruction __b13_from___b12:
Removing instruction printf_str_from___b13:
Removing instruction __b4_from___b3:
Removing instruction printf_str_from___b4:
Removing instruction __b10_from___b6:
Removing instruction printf_str_from___b10:
Removing instruction __b8_from___b6:
Removing instruction printf_str_from___b8:
Removing instruction __b4_from___b7:
Removing instruction ultoa_append_from___b5:
Removing instruction __b1_from_memcpy:
Removing instruction __b1_from___b2:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b3:
Removing instruction __breturn_from_toupper:
Removing instruction __breturn_from___b1:
Removing instruction __b4_from___b7:
Removing instruction uctoa_append_from___b5:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction __init1:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b1_from_conio_c64_init:
Removing instruction __breturn:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction clrscr_from_main:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction printf_ulong_from___b7:
Removing instruction __b8:
Removing instruction __b9:
Removing instruction __breturn:
Removing instruction __b1_from_gotoxy:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1_from_clrscr:
Removing instruction __b2:
Removing instruction __breturn:
Removing instruction __b5:
Removing instruction __b1_from___b5:
Removing instruction __b3_from___b4:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction utoa_from___b1:
Removing instruction __b2:
Removing instruction printf_number_buffer_from___b2:
Removing instruction __breturn:
Removing instruction __b1_from_queens:
Removing instruction __b5:
Removing instruction legal_from___b5:
Removing instruction __b9:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction print_from___b4:
Removing instruction __b8:
Removing instruction __b1:
Removing instruction ultoa_from___b1:
Removing instruction __b2:
Removing instruction printf_number_buffer_from___b2:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b1_from_utoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __b6:
Removing instruction __b14:
Removing instruction __b7:
Removing instruction __b17:
Removing instruction __b16:
Removing instruction printf_padding_from___b8:
Removing instruction __b9:
Removing instruction __b18:
Removing instruction printf_padding_from___b10:
Removing instruction __b11:
Removing instruction __b15:
Removing instruction __b20:
Removing instruction __b19:
Removing instruction printf_padding_from___b12:
Removing instruction __b1_from_legal:
Removing instruction __breturn_from___b1:
Removing instruction __b4:
Removing instruction diff1:
Removing instruction diff1___b3:
Removing instruction diff2___b3:
Removing instruction __b1_from___b3:
Removing instruction gotoxy_from_print:
Removing instruction __b11:
Removing instruction __b12:
Removing instruction printf_ulong_from___b12:
Removing instruction __b13:
Removing instruction __b1_from___b13:
Removing instruction __b3_from___b1:
Removing instruction __breturn:
Removing instruction __b15:
Removing instruction printf_uchar_from___b15:
Removing instruction __b5_from___b15:
Removing instruction __b7:
Removing instruction __b3_from___b7:
Removing instruction __b10:
Removing instruction __b5_from___b9:
Removing instruction printf_uchar_from___b2:
Removing instruction __b14:
Removing instruction __b1_from___b14:
Removing instruction __b1_from_ultoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __breturn:
Removing instruction __b1:
Removing instruction __breturn:
Removing instruction __b1_from_utoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b1_from_strlen:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b1_from_printf_padding:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1_from_strupr:
Removing instruction __breturn:
Removing instruction __b3:
Removing instruction __b1_from___b3:
Removing instruction __b1:
Removing instruction uctoa_from___b1:
Removing instruction __b2:
Removing instruction printf_number_buffer_from___b2:
Removing instruction __breturn:
Removing instruction __b1_from_ultoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction __b2:
Removing instruction __b1_from_uctoa:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b7:
Removing instruction __b1_from___b4:
Removing instruction __b6:
Removing instruction __b4_from___b6:
Removing instruction __b1_from_uctoa_append:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Succesful ASM optimization Pass5UnusedLabelElimination
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __breturn in bcc __breturn_from___b2
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __breturn in jmp __breturn_from___b2
Succesful ASM optimization Pass5DoubleJumpElimination
Relabelling long label __b3_from___b1 to __b2
Relabelling long label __b1_from___b13 to __b6
Relabelling long label __breturn_from___b5 to __b4
Relabelling long label __breturn_from___b2 to __b2
Succesful ASM optimization Pass5RelabelLongLabels
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b2
Removing instruction jmp __b1
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction ldy.z row
Removing instruction lda.z digit_value+1
Removing instruction lda.z buffer_sign
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Removing instruction __breturn:
Removing instruction __b2:
Succesful ASM optimization Pass5UnusedLabelElimination

FINAL SYMBOL TABLE
__constant char * const COLORRAM = (char *) 55296
__constant char * const DEFAULT_SCREEN = (char *) 1024
__constant char DIGITS[] = "0123456789abcdef"z
__constant const char LIGHT_BLUE = $e
__constant char OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant unsigned int RADIX_DECIMAL_VALUES[] = { $2710, $3e8, $64, $a }
__constant unsigned long RADIX_DECIMAL_VALUES_LONG[] = { $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a }
__constant char RADIX_HEXADECIMAL_VALUES_CHAR[] = { $10 }
__constant char SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
__constant unsigned int STACK_BASE = $103
void __start()
__constant char board[$14] = { fill( $14, 0) }
void clrscr()
char clrscr::c
char clrscr::c#1 // reg byte y 20002.0
char clrscr::c#2 // reg byte y 12501.25
char clrscr::l
char clrscr::l#1 // reg byte x 2002.0
char clrscr::l#2 // reg byte x 333.6666666666667
char *clrscr::line_cols
char *clrscr::line_cols#1 // line_cols zp[2]:19 1001.0
char *clrscr::line_cols#5 // line_cols zp[2]:19 1500.375
char *clrscr::line_text
char *clrscr::line_text#1 // line_text zp[2]:15 667.3333333333334
char *clrscr::line_text#5 // line_text zp[2]:15 1714.7142857142858
void conio_c64_init()
__constant char * const conio_c64_init::BASIC_CURSOR_LINE = (char *) 214
char conio_c64_init::line
char conio_c64_init::line#0 // reg byte x 11.0
char conio_c64_init::line#2 // reg byte x 22.0
__loadstore char conio_cursor_x // zp[1]:27 20025.000000000004
__loadstore char conio_cursor_y // zp[1]:28 4366.478260869564
__loadstore char *conio_line_color // zp[2]:31 4560.454545454545
__loadstore char *conio_line_text // zp[2]:29 4777.619047619047
unsigned long count
unsigned long count#10 // count zp[4]:2 445.5
unsigned long count#2 // count zp[4]:2 387.19354838709677
__stackcall void cputc(char c)
__constant char cputc::OFFSET_STACK_C = 0
char cputc::c
char cputc::c#0 // reg byte a 3.0
void cputln()
void cscroll()
void gotoxy(char x , char y)
char *gotoxy::$5 // zp[2]:37 200002.0
char *gotoxy::$6 // zp[2]:33 200002.0
unsigned int gotoxy::$7 // zp[2]:33 150001.5
unsigned int gotoxy::$8 // zp[2]:35 200002.0
unsigned int gotoxy::$9 // zp[2]:33 200002.0
unsigned int gotoxy::line_offset
unsigned int gotoxy::line_offset#0 // line_offset zp[2]:33 100001.0
char gotoxy::x
char gotoxy::y
char gotoxy::y#2 // reg byte x 22.0
char gotoxy::y#4 // reg byte x 66671.0
char gotoxy::y#5 // reg byte x 66667.33333333333
char kbhit()
__constant char * const kbhit::CIA1_PORT_A = (char *) 56320
__constant char * const kbhit::CIA1_PORT_B = (char *) 56321
char kbhit::return
char kbhit::return#0 // reg byte a 367.33333333333337
char kbhit::return#2 // reg byte a 202.0
char legal(char row , char column)
char legal::$0 // reg byte x 2000002.0
char legal::column
char legal::column#0 // column zp[1]:39 235353.23529411765
char legal::diff1_a
char legal::diff1_a#0 // reg byte a 2000002.0
char legal::diff1_b
char legal::diff1_return
char legal::diff1_return#0 // diff1_return zp[1]:11 2000002.0
char legal::diff1_return#1 // diff1_return zp[1]:11 2000002.0
char legal::diff1_return#2 // diff1_return zp[1]:11 600000.6000000001
char legal::diff2_a
char legal::diff2_b
char legal::diff2_return
char legal::diff2_return#0 // reg byte a 2000002.0
char legal::diff2_return#1 // reg byte a 2000002.0
char legal::diff2_return#2 // reg byte a 3000003.0
char legal::i
char legal::i#1 // reg byte y 2000002.0
char legal::i#10 // reg byte y 571429.1428571428
char legal::return
char legal::return#0 // reg byte a 2002.0
char legal::return#4 // reg byte a 333.6666666666667
char legal::row
char legal::row#0 // row zp[1]:10 222278.05555555556
void main()
char main::$5 // reg byte a 202.0
__constant char main::s[$29] = " - n queens problem using backtracking -"
__constant char main::s1[$13] = "
number of queens:"
__constant char main::s2[$e] = "

solutions: "
void * memcpy(void *destination , void *source , unsigned int num)
void *memcpy::destination
void *memcpy::destination#2 // destination zp[2]:48
char *memcpy::dst
char *memcpy::dst#1 // dst zp[2]:48 10001.0
char *memcpy::dst#2 // dst zp[2]:48 10334.666666666666
char *memcpy::dst#4 // dst zp[2]:48 2002.0
unsigned int memcpy::num
void *memcpy::return
void *memcpy::source
void *memcpy::source#2 // source zp[2]:17
char *memcpy::src
char *memcpy::src#1 // src zp[2]:17 20002.0
char *memcpy::src#2 // src zp[2]:17 10251.25
char *memcpy::src#4 // src zp[2]:17 1001.0
char *memcpy::src_end
char *memcpy::src_end#0 // src_end zp[2]:46 1375.25
void * memset(void *str , char c , unsigned int num)
char memset::c
char memset::c#4 // reg byte x 1428.7142857142858
char *memset::dst
char *memset::dst#1 // dst zp[2]:17 20002.0
char *memset::dst#2 // dst zp[2]:17 13668.333333333332
char *memset::dst#4 // dst zp[2]:17 2002.0
char *memset::end
char *memset::end#0 // end zp[2]:48 1833.6666666666665
unsigned int memset::num
void *memset::return
void *memset::str
void *memset::str#3 // str zp[2]:17
void print()
char print::i
char print::i#1 // i zp[1]:39 2000002.0
char print::i#2 // i zp[1]:39 1000001.0
char print::i1
char print::i1#1 // i1 zp[1]:12 2000002.0
char print::i1#2 // i1 zp[1]:12 1000000.357142857
char print::j
char print::j#1 // j zp[1]:13 2.0000002E7
char print::j#2 // j zp[1]:13 5714286.285714285
__constant char print::s[3] = "
#"
__constant char print::s1[4] = ":
 "
__constant char print::s3[2] = "Q"
__constant char print::s4[2] = "-"
__loadstore struct printf_buffer_number printf_buffer = {} // mem[12]
void printf_number_buffer(void (*putc)(char) , char buffer_sign , char *buffer_digits , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
unsigned int printf_number_buffer::$19 // zp[2]:25 1.00000001E8
struct printf_buffer_number printf_number_buffer::buffer
char *printf_number_buffer::buffer_digits
char printf_number_buffer::buffer_sign
char printf_number_buffer::buffer_sign#0 // buffer_sign zp[1]:14 200002.0
char printf_number_buffer::buffer_sign#1 // buffer_sign zp[1]:14 202.0
char printf_number_buffer::buffer_sign#10 // buffer_sign zp[1]:14 1.4766671714285715E7
char printf_number_buffer::buffer_sign#2 // buffer_sign zp[1]:14 2.0000002E7
struct printf_format_number printf_number_buffer::format
char printf_number_buffer::format_justify_left
char printf_number_buffer::format_justify_left#10 // format_justify_left zp[1]:11 6060606.121212121
char printf_number_buffer::format_min_length
char printf_number_buffer::format_min_length#3 // reg byte x 1.00000001E7
char printf_number_buffer::format_radix
char printf_number_buffer::format_sign_always
char printf_number_buffer::format_upper_case
char printf_number_buffer::format_upper_case#10 // format_upper_case zp[1]:23 3571428.6071428573
char printf_number_buffer::format_zero_padding
char printf_number_buffer::format_zero_padding#10 // format_zero_padding zp[1]:13 8823529.5
signed char printf_number_buffer::len
signed char printf_number_buffer::len#0 // reg byte y 1.500000015E8
signed char printf_number_buffer::len#1 // reg byte y 2.00000002E8
signed char printf_number_buffer::len#2 // reg byte y 3.00000003E8
signed char printf_number_buffer::padding
signed char printf_number_buffer::padding#1 // padding zp[1]:24 1.00000001E8
signed char printf_number_buffer::padding#10 // padding zp[1]:24 1.6666666833333334E7
void (*printf_number_buffer::putc)(char)
void (*printf_number_buffer::putc#10)(char) // putc zp[2]:15 1.1111111222222222E7
void printf_padding(void (*putc)(char) , char pad , char length)
char printf_padding::i
char printf_padding::i#1 // i zp[1]:22 2.000000000002E12
char printf_padding::i#2 // i zp[1]:22 1.000000000001E12
char printf_padding::length
char printf_padding::length#0 // length zp[1]:50 2.00000002E8
char printf_padding::length#1 // length zp[1]:50 2.00000002E8
char printf_padding::length#2 // length zp[1]:50 2.00000002E8
char printf_padding::length#4 // length zp[1]:50 2.0006000000080002E11
char printf_padding::pad
char printf_padding::pad#5 // pad zp[1]:21 1.6666666666683334E11
void (*printf_padding::putc)(char)
void (*printf_padding::putc#0)(char) // putc zp[2]:15 1.00000001E8
void (*printf_padding::putc#1)(char) // putc zp[2]:15 1.00000001E8
void (*printf_padding::putc#2)(char) // putc zp[2]:15 1.00000001E8
void (*printf_padding::putc#5)(char) // putc zp[2]:15 3.00000003E9
void printf_str(void (*putc)(char) , const char *s)
char printf_str::c
char printf_str::c#1 // reg byte a 1.0000000001E10
void (*printf_str::putc)(char)
void (*printf_str::putc#0)(char) // putc zp[2]:15 2.00000002E8
void (*printf_str::putc#12)(char) // putc zp[2]:15 1.00000001E9
const char *printf_str::s
const char *printf_str::s#0 // s zp[2]:19 1.0000000001E10
const char *printf_str::s#11 // s zp[2]:19 1.5500000002E10
const char *printf_str::s#12 // s zp[2]:19 1.000000001E9
void printf_uchar(void (*putc)(char) , char uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uchar::format
char printf_uchar::format_justify_left
char printf_uchar::format_min_length
char printf_uchar::format_radix
char printf_uchar::format_sign_always
char printf_uchar::format_upper_case
char printf_uchar::format_zero_padding
void (*printf_uchar::putc)(char)
char printf_uchar::uvalue
char printf_uchar::uvalue#0 // reg byte x 2000002.0
char printf_uchar::uvalue#1 // reg byte x 2000002.0
char printf_uchar::uvalue#2 // reg byte x 6000001.5
void printf_uint(void (*putc)(char) , unsigned int uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_uint::format
char printf_uint::format_justify_left
__constant char printf_uint::format_justify_left#0 = 0 // format_justify_left
char printf_uint::format_min_length
__constant char printf_uint::format_min_length#0 = 0 // format_min_length
char printf_uint::format_radix
char printf_uint::format_sign_always
char printf_uint::format_upper_case
__constant char printf_uint::format_upper_case#0 = 0 // format_upper_case
char printf_uint::format_zero_padding
__constant char printf_uint::format_zero_padding#0 = 0 // format_zero_padding
void (*printf_uint::putc)(char)
__constant void (*printf_uint::putc#0)(char) = &cputc // putc
unsigned int printf_uint::uvalue
__constant unsigned int printf_uint::uvalue#0 = 8 // uvalue
void printf_ulong(void (*putc)(char) , unsigned long uvalue , char format_min_length , char format_justify_left , char format_sign_always , char format_zero_padding , char format_upper_case , char format_radix)
struct printf_format_number printf_ulong::format
char printf_ulong::format_justify_left
char printf_ulong::format_min_length
char printf_ulong::format_radix
char printf_ulong::format_sign_always
char printf_ulong::format_upper_case
char printf_ulong::format_zero_padding
void (*printf_ulong::putc)(char)
unsigned long printf_ulong::uvalue
unsigned long printf_ulong::uvalue#0 // uvalue zp[4]:6 22.0
unsigned long printf_ulong::uvalue#1 // uvalue zp[4]:6 20002.0
unsigned long printf_ulong::uvalue#2 // uvalue zp[4]:6 55006.5
void queens()
char queens::$2 // reg byte a 2002.0
char queens::row
char queens::row#1 // row zp[1]:10 2002.0
char queens::row#10 // row zp[1]:10 1144.0
char queens::row#2 // row zp[1]:10 2002.0
__constant char s3[2] = "
"
unsigned int strlen(char *str)
unsigned int strlen::len
unsigned int strlen::len#1 // len zp[2]:25 1.000000000001E12
unsigned int strlen::len#2 // len zp[2]:25 5.0002500000075E11
unsigned int strlen::return
unsigned int strlen::return#2 // return zp[2]:25 2.00000002E8
char *strlen::str
char *strlen::str#0 // str zp[2]:19 2.000000000002E12
char *strlen::str#2 // str zp[2]:19 1.000000000001E12
char * strupr(char *str)
char strupr::$0 // reg byte a 2.000000000002E12
char *strupr::return
char *strupr::src
char *strupr::src#1 // src zp[2]:40 2.000000000002E12
char *strupr::src#2 // src zp[2]:40 7.142857142864285E11
char *strupr::str
__constant char *strupr::str#0 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS // str
char toupper(char ch)
char toupper::ch
char toupper::ch#0 // reg byte a 1.7000000000001998E13
char toupper::return
char toupper::return#0 // reg byte a 2.0000000000002E13
char toupper::return#2 // reg byte a 1.0333333333334666E13
char toupper::return#3 // reg byte a 2.000000000002E12
void uctoa(char value , char *buffer , char radix)
char *uctoa::buffer
char *uctoa::buffer#11 // buffer zp[2]:25 3.3350000000500004E10
char *uctoa::buffer#14 // buffer zp[2]:25 1.500000000015E11
char *uctoa::buffer#3 // buffer zp[2]:25 2.00000002E8
char *uctoa::buffer#4 // buffer zp[2]:25 2.00000000002E11
char uctoa::digit
char uctoa::digit#1 // digit zp[1]:23 2.00000000002E11
char uctoa::digit#2 // digit zp[1]:23 3.076923076953846E10
char uctoa::digit_value
char uctoa::digit_value#0 // digit_value zp[1]:50 6.0000000000600006E10
char *uctoa::digit_values
char uctoa::max_digits
char uctoa::radix
char uctoa::started
char uctoa::started#2 // started zp[1]:24 6.0000000000600006E10
char uctoa::started#4 // started zp[1]:24 1.00000000001E11
char uctoa::value
char uctoa::value#0 // reg byte x 1.00000000001E11
char uctoa::value#1 // reg byte x 5.5000001E7
char uctoa::value#2 // reg byte x 6.670000000100001E10
char uctoa::value#6 // reg byte x 1.500000000015E11
char uctoa_append(char *buffer , char value , char sub)
char *uctoa_append::buffer
char *uctoa_append::buffer#0 // buffer zp[2]:25 1.3750000000025E11
char uctoa_append::digit
char uctoa_append::digit#1 // reg byte y 1.0E16
char uctoa_append::digit#2 // reg byte y 1.00005E16
char uctoa_append::return
char uctoa_append::return#0 // reg byte x 2.00000000002E11
char uctoa_append::sub
char uctoa_append::sub#0 // sub zp[1]:50 3.33335E15
char uctoa_append::value
char uctoa_append::value#0 // reg byte x 3.666666666673334E11
char uctoa_append::value#1 // reg byte x 2.0E16
char uctoa_append::value#2 // reg byte x 5.000183333333334E15
void ultoa(unsigned long value , char *buffer , char radix)
char ultoa::$10 // reg byte a 2.00000002E8
char ultoa::$11 // reg byte a 2000002.0
char *ultoa::buffer
char *ultoa::buffer#11 // buffer zp[2]:15 2.871428614285714E7
char *ultoa::buffer#14 // buffer zp[2]:15 1.500000015E8
char *ultoa::buffer#3 // buffer zp[2]:15 2000002.0
char *ultoa::buffer#4 // buffer zp[2]:15 2.00000002E8
char ultoa::digit
char ultoa::digit#1 // digit zp[1]:14 2.00000002E8
char ultoa::digit#2 // digit zp[1]:14 2.857142885714286E7
unsigned long ultoa::digit_value
unsigned long ultoa::digit_value#0 // digit_value zp[4]:42 6.0000000599999994E7
unsigned long *ultoa::digit_values
char ultoa::max_digits
char ultoa::radix
char ultoa::started
char ultoa::started#2 // reg byte x 5.00000005E7
char ultoa::started#4 // reg byte x 1.00000001E8
unsigned long ultoa::value
unsigned long ultoa::value#0 // value zp[4]:6 1.00000001E8
unsigned long ultoa::value#1 // value zp[4]:6 550001.0
unsigned long ultoa::value#2 // value zp[4]:6 5.7285715E7
unsigned long ultoa::value#6 // value zp[4]:6 1.500000015E8
unsigned long ultoa_append(char *buffer , unsigned long value , unsigned long sub)
char *ultoa_append::buffer
char *ultoa_append::buffer#0 // buffer zp[2]:15 1.3750000025E8
char ultoa_append::digit
char ultoa_append::digit#1 // reg byte x 1.000000000001E12
char ultoa_append::digit#2 // reg byte x 1.0005000000015E12
unsigned long ultoa_append::return
unsigned long ultoa_append::return#0 // return zp[4]:6 2.00000002E8
unsigned long ultoa_append::sub
unsigned long ultoa_append::sub#0 // sub zp[4]:42 3.333500000005E11
unsigned long ultoa_append::value
unsigned long ultoa_append::value#0 // value zp[4]:6 3.666666673333334E8
unsigned long ultoa_append::value#1 // value zp[4]:6 2.000000000002E12
unsigned long ultoa_append::value#2 // value zp[4]:6 5.0018333333416675E11
void utoa(unsigned int value , char *buffer , char radix)
char utoa::$10 // reg byte a 20002.0
char utoa::$11 // reg byte x 2002.0
char *utoa::buffer
char *utoa::buffer#11 // buffer zp[2]:19 3000.4285714285716
char *utoa::buffer#14 // buffer zp[2]:19 15001.5
char *utoa::buffer#3 // buffer zp[2]:19 2002.0
char *utoa::buffer#4 // buffer zp[2]:19 20002.0
char utoa::digit
char utoa::digit#1 // digit zp[1]:10 20002.0
char utoa::digit#2 // digit zp[1]:10 2857.4285714285716
unsigned int utoa::digit_value
unsigned int utoa::digit_value#0 // digit_value zp[2]:40 6000.6
unsigned int *utoa::digit_values
char utoa::max_digits
__constant char utoa::max_digits#1 = 5 // max_digits
char utoa::radix
char utoa::started
char utoa::started#2 // reg byte x 5000.5
char utoa::started#4 // reg byte x 10001.0
unsigned int utoa::value
unsigned int utoa::value#0 // value zp[2]:15 10001.0
unsigned int utoa::value#2 // value zp[2]:15 5714.857142857143
unsigned int utoa::value#6 // value zp[2]:15 15001.5
unsigned int utoa_append(char *buffer , unsigned int value , unsigned int sub)
char *utoa_append::buffer
char *utoa_append::buffer#0 // buffer zp[2]:19 13750.25
char utoa_append::digit
char utoa_append::digit#1 // reg byte x 1.0000001E7
char utoa_append::digit#2 // reg byte x 1.00500015E7
unsigned int utoa_append::return
unsigned int utoa_append::return#0 // return zp[2]:15 20002.0
unsigned int utoa_append::sub
unsigned int utoa_append::sub#0 // sub zp[2]:40 3335000.5
unsigned int utoa_append::value
unsigned int utoa_append::value#0 // value zp[2]:15 36667.33333333333
unsigned int utoa_append::value#1 // value zp[2]:15 2.0000002E7
unsigned int utoa_append::value#2 // value zp[2]:15 5018334.166666666

reg byte x [ conio_c64_init::line#2 conio_c64_init::line#0 ]
reg byte x [ gotoxy::y#5 gotoxy::y#4 gotoxy::y#2 ]
reg byte x [ clrscr::l#2 clrscr::l#1 ]
reg byte y [ clrscr::c#2 clrscr::c#1 ]
zp[4]:2 [ count#10 count#2 ]
zp[4]:6 [ printf_ulong::uvalue#2 printf_ulong::uvalue#0 printf_ulong::uvalue#1 ultoa::value#2 ultoa::value#6 ultoa::value#1 ultoa::value#0 ultoa_append::value#2 ultoa_append::value#0 ultoa_append::value#1 ultoa_append::return#0 ]
zp[1]:10 [ utoa::digit#2 utoa::digit#1 queens::row#10 queens::row#1 queens::row#2 legal::row#0 ]
reg byte x [ utoa::started#2 utoa::started#4 ]
reg byte x [ printf_number_buffer::format_min_length#3 ]
reg byte y [ printf_number_buffer::len#2 printf_number_buffer::len#0 printf_number_buffer::len#1 ]
reg byte y [ legal::i#10 legal::i#1 ]
reg byte a [ legal::return#4 ]
zp[1]:11 [ legal::diff1_return#2 legal::diff1_return#0 legal::diff1_return#1 printf_number_buffer::format_justify_left#10 ]
reg byte a [ legal::diff2_return#2 legal::diff2_return#0 legal::diff2_return#1 ]
zp[1]:12 [ print::i1#2 print::i1#1 ]
zp[1]:13 [ print::j#2 print::j#1 printf_number_buffer::format_zero_padding#10 ]
zp[1]:14 [ ultoa::digit#2 ultoa::digit#1 printf_number_buffer::buffer_sign#10 printf_number_buffer::buffer_sign#2 printf_number_buffer::buffer_sign#1 printf_number_buffer::buffer_sign#0 ]
reg byte x [ ultoa::started#2 ultoa::started#4 ]
zp[2]:15 [ ultoa::buffer#11 ultoa::buffer#14 ultoa::buffer#4 ultoa::buffer#3 ultoa_append::buffer#0 utoa::value#2 utoa::value#6 utoa::value#0 utoa_append::value#2 utoa_append::value#0 utoa_append::value#1 utoa_append::return#0 printf_str::putc#12 printf_str::putc#0 printf_number_buffer::putc#10 printf_padding::putc#5 printf_padding::putc#1 printf_padding::putc#2 printf_padding::putc#0 clrscr::line_text#5 clrscr::line_text#1 ]
zp[2]:17 [ memset::str#3 memset::dst#2 memset::dst#4 memset::dst#1 memcpy::source#2 memcpy::src#2 memcpy::src#4 memcpy::src#1 ]
reg byte x [ memset::c#4 ]
reg byte x [ utoa_append::digit#2 utoa_append::digit#1 ]
zp[2]:19 [ strlen::str#2 strlen::str#0 utoa::buffer#11 utoa::buffer#14 utoa::buffer#4 utoa::buffer#3 utoa_append::buffer#0 printf_str::s#11 printf_str::s#12 printf_str::s#0 clrscr::line_cols#5 clrscr::line_cols#1 ]
zp[1]:21 [ printf_padding::pad#5 ]
zp[1]:22 [ printf_padding::i#2 printf_padding::i#1 ]
reg byte x [ printf_uchar::uvalue#2 printf_uchar::uvalue#1 printf_uchar::uvalue#0 ]
reg byte x [ ultoa_append::digit#2 ultoa_append::digit#1 ]
reg byte a [ toupper::return#2 toupper::return#0 toupper::ch#0 ]
zp[1]:23 [ uctoa::digit#2 uctoa::digit#1 printf_number_buffer::format_upper_case#10 ]
reg byte x [ uctoa::value#2 uctoa::value#6 uctoa::value#1 uctoa::value#0 ]
zp[1]:24 [ uctoa::started#2 uctoa::started#4 printf_number_buffer::padding#10 printf_number_buffer::padding#1 ]
zp[2]:25 [ uctoa::buffer#11 uctoa::buffer#14 uctoa::buffer#4 uctoa::buffer#3 uctoa_append::buffer#0 strlen::len#2 strlen::len#1 strlen::return#2 printf_number_buffer::$19 ]
reg byte x [ uctoa_append::value#2 uctoa_append::value#0 uctoa_append::value#1 ]
reg byte y [ uctoa_append::digit#2 uctoa_append::digit#1 ]
zp[1]:27 [ conio_cursor_x ]
zp[1]:28 [ conio_cursor_y ]
zp[2]:29 [ conio_line_text ]
zp[2]:31 [ conio_line_color ]
reg byte a [ cputc::c#0 ]
reg byte a [ kbhit::return#2 ]
reg byte a [ main::$5 ]
zp[2]:33 [ gotoxy::$7 gotoxy::$9 gotoxy::line_offset#0 gotoxy::$6 ]
zp[2]:35 [ gotoxy::$8 ]
zp[2]:37 [ gotoxy::$5 ]
reg byte a [ printf_str::c#1 ]
zp[1]:39 [ legal::column#0 print::i#2 print::i#1 ]
reg byte a [ legal::return#0 ]
reg byte a [ queens::$2 ]
reg byte a [ kbhit::return#0 ]
reg byte x [ utoa::$11 ]
reg byte a [ utoa::$10 ]
zp[2]:40 [ utoa::digit_value#0 utoa_append::sub#0 strupr::src#2 strupr::src#1 ]
reg byte x [ legal::$0 ]
reg byte a [ legal::diff1_a#0 ]
reg byte a [ ultoa::$11 ]
reg byte a [ ultoa::$10 ]
zp[4]:42 [ ultoa::digit_value#0 ultoa_append::sub#0 ]
zp[2]:46 [ memcpy::src_end#0 ]
zp[2]:48 [ memset::end#0 memcpy::destination#2 memcpy::dst#2 memcpy::dst#4 memcpy::dst#1 ]
reg byte a [ toupper::return#3 ]
reg byte a [ strupr::$0 ]
zp[1]:50 [ uctoa::digit_value#0 uctoa_append::sub#0 printf_padding::length#4 printf_padding::length#1 printf_padding::length#2 printf_padding::length#0 ]
reg byte x [ uctoa_append::return#0 ]
mem[12] [ printf_buffer ]


FINAL ASSEMBLER
Score: 606272

  // File Comments
// N Queens Problem in C Using Backtracking
//
// N Queens Problem is a famous puzzle in which n-queens are to be placed on a nxn chess board such that no two queens are in the same row, column or diagonal.
//
// This is an iterative solution.
  // Upstart
  // Commodore 64 PRG executable file
.file [name="eightqueens.prg", type="prg", segments="Program"]
.segmentdef Program [segments="Basic, Code, Data"]
.segmentdef Basic [start=$0801]
.segmentdef Code [start=$80d]
.segmentdef Data [startAfter="Code"]
.segment Basic
:BasicUpstart(__start)
  // Global Constants & labels
  .const LIGHT_BLUE = $e
  .const OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS = 1
  .const STACK_BASE = $103
  .const SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER = $c
  /// Color Ram
  .label COLORRAM = $d800
  /// Default address of screen character matrix
  .label DEFAULT_SCREEN = $400
  // The number of bytes on the screen
  // The current cursor x-position
  .label conio_cursor_x = $1b
  // The current cursor y-position
  .label conio_cursor_y = $1c
  // The current text cursor line start
  .label conio_line_text = $1d
  // The current color cursor line start
  .label conio_line_color = $1f
  // The number of found solutions
  .label count = 2
.segment Code
  // __start
__start: {
    // __start::__init1
    // __ma char conio_cursor_x = 0
    // [1] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // __ma char conio_cursor_y = 0
    // [2] conio_cursor_y = 0 -- vbuz1=vbuc1 
    sta.z conio_cursor_y
    // __ma char *conio_line_text = CONIO_SCREEN_TEXT
    // [3] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1 
    lda #<DEFAULT_SCREEN
    sta.z conio_line_text
    lda #>DEFAULT_SCREEN
    sta.z conio_line_text+1
    // __ma char *conio_line_color = CONIO_SCREEN_COLORS
    // [4] conio_line_color = COLORRAM -- pbuz1=pbuc1 
    lda #<COLORRAM
    sta.z conio_line_color
    lda #>COLORRAM
    sta.z conio_line_color+1
    // #pragma constructor_for(conio_c64_init, cputc, clrscr, cscroll)
    // [5] call conio_c64_init
    jsr conio_c64_init
    // [6] phi from __start::__init1 to __start::@1 [phi:__start::__init1->__start::@1]
    // __start::@1
    // [7] call main
    // [27] phi from __start::@1 to main [phi:__start::@1->main]
    jsr main
    // __start::@return
    // [8] return 
    rts
}
  // conio_c64_init
// Set initial cursor position
conio_c64_init: {
    // Position cursor at current line
    .label BASIC_CURSOR_LINE = $d6
    // char line = *BASIC_CURSOR_LINE
    // [9] conio_c64_init::line#0 = *conio_c64_init::BASIC_CURSOR_LINE -- vbuxx=_deref_pbuc1 
    ldx BASIC_CURSOR_LINE
    // if(line>=CONIO_HEIGHT)
    // [10] if(conio_c64_init::line#0<$19) goto conio_c64_init::@2 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$19
    bcc __b1
    // [12] phi from conio_c64_init to conio_c64_init::@1 [phi:conio_c64_init->conio_c64_init::@1]
    // [12] phi conio_c64_init::line#2 = $19-1 [phi:conio_c64_init->conio_c64_init::@1#0] -- vbuxx=vbuc1 
    ldx #$19-1
    // [11] phi from conio_c64_init to conio_c64_init::@2 [phi:conio_c64_init->conio_c64_init::@2]
    // conio_c64_init::@2
    // [12] phi from conio_c64_init::@2 to conio_c64_init::@1 [phi:conio_c64_init::@2->conio_c64_init::@1]
    // [12] phi conio_c64_init::line#2 = conio_c64_init::line#0 [phi:conio_c64_init::@2->conio_c64_init::@1#0] -- register_copy 
    // conio_c64_init::@1
  __b1:
    // gotoxy(0, line)
    // [13] gotoxy::y#2 = conio_c64_init::line#2
    // [14] call gotoxy
    // [49] phi from conio_c64_init::@1 to gotoxy [phi:conio_c64_init::@1->gotoxy]
    // [49] phi gotoxy::y#4 = gotoxy::y#2 [phi:conio_c64_init::@1->gotoxy#0] -- register_copy 
    jsr gotoxy
    // conio_c64_init::@return
    // }
    // [15] return 
    rts
}
  // cputc
// Output one character at the current cursor position
// Moves the cursor forward. Scrolls the entire screen if needed
// void cputc(__register(A) char c)
cputc: {
    .const OFFSET_STACK_C = 0
    // [16] cputc::c#0 = stackidx(char,cputc::OFFSET_STACK_C) -- vbuaa=_stackidxbyte_vbuc1 
    tsx
    lda STACK_BASE+OFFSET_STACK_C,x
    // if(c=='\n')
    // [17] if(cputc::c#0==' ') goto cputc::@1 -- vbuaa_eq_vbuc1_then_la1 
    cmp #'\n'
    beq __b1
    // cputc::@2
    // conio_line_text[conio_cursor_x] = c
    // [18] conio_line_text[conio_cursor_x] = cputc::c#0 -- pbuz1_derefidx_vbuz2=vbuaa 
    ldy.z conio_cursor_x
    sta (conio_line_text),y
    // conio_line_color[conio_cursor_x] = conio_textcolor
    // [19] conio_line_color[conio_cursor_x] = LIGHT_BLUE -- pbuz1_derefidx_vbuz2=vbuc1 
    lda #LIGHT_BLUE
    sta (conio_line_color),y
    // if(++conio_cursor_x==CONIO_WIDTH)
    // [20] conio_cursor_x = ++ conio_cursor_x -- vbuz1=_inc_vbuz1 
    inc.z conio_cursor_x
    // [21] if(conio_cursor_x!=$28) goto cputc::@return -- vbuz1_neq_vbuc1_then_la1 
    lda #$28
    cmp.z conio_cursor_x
    bne __breturn
    // [22] phi from cputc::@2 to cputc::@3 [phi:cputc::@2->cputc::@3]
    // cputc::@3
    // cputln()
    // [23] call cputln
    jsr cputln
    // cputc::@return
  __breturn:
    // }
    // [24] return 
    rts
    // [25] phi from cputc to cputc::@1 [phi:cputc->cputc::@1]
    // cputc::@1
  __b1:
    // cputln()
    // [26] call cputln
    jsr cputln
    rts
}
  // main
main: {
    // clrscr()
    // [28] call clrscr
    // [70] phi from main to clrscr [phi:main->clrscr]
    jsr clrscr
    // [29] phi from main to main::@2 [phi:main->main::@2]
    // main::@2
    // printf(" - n queens problem using backtracking -")
    // [30] call printf_str
    // [86] phi from main::@2 to printf_str [phi:main::@2->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@2->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = main::s [phi:main::@2->printf_str#1] -- pbuz1=pbuc1 
    lda #<s
    sta.z printf_str.s
    lda #>s
    sta.z printf_str.s+1
    jsr printf_str
    // [31] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
    // main::@3
    // printf("\nnumber of queens:%u",QUEENS)
    // [32] call printf_str
    // [86] phi from main::@3 to printf_str [phi:main::@3->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@3->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = main::s1 [phi:main::@3->printf_str#1] -- pbuz1=pbuc1 
    lda #<s1
    sta.z printf_str.s
    lda #>s1
    sta.z printf_str.s+1
    jsr printf_str
    // [33] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
    // main::@4
    // printf("\nnumber of queens:%u",QUEENS)
    // [34] call printf_uint
    // [95] phi from main::@4 to printf_uint [phi:main::@4->printf_uint]
    jsr printf_uint
    // [35] phi from main::@4 to main::@5 [phi:main::@4->main::@5]
    // main::@5
    // queens()
    // [36] call queens
    // [101] phi from main::@5 to queens [phi:main::@5->queens]
    jsr queens
    // [37] phi from main::@5 to main::@6 [phi:main::@5->main::@6]
    // main::@6
    // printf("\n\nsolutions: %lu\n",count)
    // [38] call printf_str
    // [86] phi from main::@6 to printf_str [phi:main::@6->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@6->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = main::s2 [phi:main::@6->printf_str#1] -- pbuz1=pbuc1 
    lda #<s2
    sta.z printf_str.s
    lda #>s2
    sta.z printf_str.s+1
    jsr printf_str
    // main::@7
    // printf("\n\nsolutions: %lu\n",count)
    // [39] printf_ulong::uvalue#0 = count#10 -- vduz1=vduz2 
    lda.z count
    sta.z printf_ulong.uvalue
    lda.z count+1
    sta.z printf_ulong.uvalue+1
    lda.z count+2
    sta.z printf_ulong.uvalue+2
    lda.z count+3
    sta.z printf_ulong.uvalue+3
    // [40] call printf_ulong
    // [119] phi from main::@7 to printf_ulong [phi:main::@7->printf_ulong]
    // [119] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#0 [phi:main::@7->printf_ulong#0] -- register_copy 
    jsr printf_ulong
    // [41] phi from main::@7 to main::@8 [phi:main::@7->main::@8]
    // main::@8
    // printf("\n\nsolutions: %lu\n",count)
    // [42] call printf_str
    // [86] phi from main::@8 to printf_str [phi:main::@8->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:main::@8->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = s3 [phi:main::@8->printf_str#1] -- pbuz1=pbuc1 
    lda #<s3
    sta.z printf_str.s
    lda #>s3
    sta.z printf_str.s+1
    jsr printf_str
    // [43] phi from main::@8 main::@9 to main::@1 [phi:main::@8/main::@9->main::@1]
    // main::@1
  __b1:
    // kbhit()
    // [44] call kbhit
    jsr kbhit
    // [45] kbhit::return#2 = kbhit::return#0
    // main::@9
    // [46] main::$5 = kbhit::return#2
    // while(!kbhit())
    // [47] if(0==main::$5) goto main::@1 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b1
    // main::@return
    // }
    // [48] return 
    rts
  .segment Data
    s: .text " - n queens problem using backtracking -"
    .byte 0
    s1: .text @"\nnumber of queens:"
    .byte 0
    s2: .text @"\n\nsolutions: "
    .byte 0
}
.segment Code
  // gotoxy
// Set the cursor to the specified position
// void gotoxy(char x, __register(X) char y)
gotoxy: {
    .label __5 = $25
    .label __6 = $21
    .label __7 = $21
    .label line_offset = $21
    .label __8 = $23
    .label __9 = $21
    // if(y>CONIO_HEIGHT)
    // [50] if(gotoxy::y#4<$19+1) goto gotoxy::@3 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$19+1
    bcc __b2
    // [52] phi from gotoxy to gotoxy::@1 [phi:gotoxy->gotoxy::@1]
    // [52] phi gotoxy::y#5 = 0 [phi:gotoxy->gotoxy::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [51] phi from gotoxy to gotoxy::@3 [phi:gotoxy->gotoxy::@3]
    // gotoxy::@3
    // [52] phi from gotoxy::@3 to gotoxy::@1 [phi:gotoxy::@3->gotoxy::@1]
    // [52] phi gotoxy::y#5 = gotoxy::y#4 [phi:gotoxy::@3->gotoxy::@1#0] -- register_copy 
    // gotoxy::@1
    // gotoxy::@2
  __b2:
    // conio_cursor_x = x
    // [53] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // conio_cursor_y = y
    // [54] conio_cursor_y = gotoxy::y#5 -- vbuz1=vbuxx 
    stx.z conio_cursor_y
    // unsigned int line_offset = (unsigned int)y*CONIO_WIDTH
    // [55] gotoxy::$7 = (unsigned int)gotoxy::y#5 -- vwuz1=_word_vbuxx 
    txa
    sta.z __7
    lda #0
    sta.z __7+1
    // [56] gotoxy::$8 = gotoxy::$7 << 2 -- vwuz1=vwuz2_rol_2 
    lda.z __7
    asl
    sta.z __8
    lda.z __7+1
    rol
    sta.z __8+1
    asl.z __8
    rol.z __8+1
    // [57] gotoxy::$9 = gotoxy::$8 + gotoxy::$7 -- vwuz1=vwuz2_plus_vwuz1 
    clc
    lda.z __9
    adc.z __8
    sta.z __9
    lda.z __9+1
    adc.z __8+1
    sta.z __9+1
    // [58] gotoxy::line_offset#0 = gotoxy::$9 << 3 -- vwuz1=vwuz1_rol_3 
    asl.z line_offset
    rol.z line_offset+1
    asl.z line_offset
    rol.z line_offset+1
    asl.z line_offset
    rol.z line_offset+1
    // CONIO_SCREEN_TEXT + line_offset
    // [59] gotoxy::$5 = DEFAULT_SCREEN + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz2 
    lda.z line_offset
    clc
    adc #<DEFAULT_SCREEN
    sta.z __5
    lda.z line_offset+1
    adc #>DEFAULT_SCREEN
    sta.z __5+1
    // conio_line_text = CONIO_SCREEN_TEXT + line_offset
    // [60] conio_line_text = gotoxy::$5 -- pbuz1=pbuz2 
    lda.z __5
    sta.z conio_line_text
    lda.z __5+1
    sta.z conio_line_text+1
    // CONIO_SCREEN_COLORS + line_offset
    // [61] gotoxy::$6 = COLORRAM + gotoxy::line_offset#0 -- pbuz1=pbuc1_plus_vwuz1 
    lda.z __6
    clc
    adc #<COLORRAM
    sta.z __6
    lda.z __6+1
    adc #>COLORRAM
    sta.z __6+1
    // conio_line_color = CONIO_SCREEN_COLORS + line_offset
    // [62] conio_line_color = gotoxy::$6 -- pbuz1=pbuz2 
    lda.z __6
    sta.z conio_line_color
    lda.z __6+1
    sta.z conio_line_color+1
    // gotoxy::@return
    // }
    // [63] return 
    rts
}
  // cputln
// Print a newline
cputln: {
    // conio_line_text +=  CONIO_WIDTH
    // [64] conio_line_text = conio_line_text + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z conio_line_text
    sta.z conio_line_text
    bcc !+
    inc.z conio_line_text+1
  !:
    // conio_line_color += CONIO_WIDTH
    // [65] conio_line_color = conio_line_color + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z conio_line_color
    sta.z conio_line_color
    bcc !+
    inc.z conio_line_color+1
  !:
    // conio_cursor_x = 0
    // [66] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // conio_cursor_y++;
    // [67] conio_cursor_y = ++ conio_cursor_y -- vbuz1=_inc_vbuz1 
    inc.z conio_cursor_y
    // cscroll()
    // [68] call cscroll
    jsr cscroll
    // cputln::@return
    // }
    // [69] return 
    rts
}
  // clrscr
// clears the screen and moves the cursor to the upper left-hand corner of the screen.
clrscr: {
    .label line_text = $f
    .label line_cols = $13
    // [71] phi from clrscr to clrscr::@1 [phi:clrscr->clrscr::@1]
    // [71] phi clrscr::line_cols#5 = COLORRAM [phi:clrscr->clrscr::@1#0] -- pbuz1=pbuc1 
    lda #<COLORRAM
    sta.z line_cols
    lda #>COLORRAM
    sta.z line_cols+1
    // [71] phi clrscr::line_text#5 = DEFAULT_SCREEN [phi:clrscr->clrscr::@1#1] -- pbuz1=pbuc1 
    lda #<DEFAULT_SCREEN
    sta.z line_text
    lda #>DEFAULT_SCREEN
    sta.z line_text+1
    // [71] phi clrscr::l#2 = 0 [phi:clrscr->clrscr::@1#2] -- vbuxx=vbuc1 
    ldx #0
    // clrscr::@1
  __b1:
    // for( char l=0;l<CONIO_HEIGHT; l++ )
    // [72] if(clrscr::l#2<$19) goto clrscr::@3 -- vbuxx_lt_vbuc1_then_la1 
    cpx #$19
    bcc __b2
    // clrscr::@2
    // conio_cursor_x = 0
    // [73] conio_cursor_x = 0 -- vbuz1=vbuc1 
    lda #0
    sta.z conio_cursor_x
    // conio_cursor_y = 0
    // [74] conio_cursor_y = 0 -- vbuz1=vbuc1 
    sta.z conio_cursor_y
    // conio_line_text = CONIO_SCREEN_TEXT
    // [75] conio_line_text = DEFAULT_SCREEN -- pbuz1=pbuc1 
    lda #<DEFAULT_SCREEN
    sta.z conio_line_text
    lda #>DEFAULT_SCREEN
    sta.z conio_line_text+1
    // conio_line_color = CONIO_SCREEN_COLORS
    // [76] conio_line_color = COLORRAM -- pbuz1=pbuc1 
    lda #<COLORRAM
    sta.z conio_line_color
    lda #>COLORRAM
    sta.z conio_line_color+1
    // clrscr::@return
    // }
    // [77] return 
    rts
    // [78] phi from clrscr::@1 to clrscr::@3 [phi:clrscr::@1->clrscr::@3]
  __b2:
    // [78] phi clrscr::c#2 = 0 [phi:clrscr::@1->clrscr::@3#0] -- vbuyy=vbuc1 
    ldy #0
    // clrscr::@3
  __b3:
    // for( char c=0;c<CONIO_WIDTH; c++ )
    // [79] if(clrscr::c#2<$28) goto clrscr::@4 -- vbuyy_lt_vbuc1_then_la1 
    cpy #$28
    bcc __b4
    // clrscr::@5
    // line_text += CONIO_WIDTH
    // [80] clrscr::line_text#1 = clrscr::line_text#5 + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z line_text
    sta.z line_text
    bcc !+
    inc.z line_text+1
  !:
    // line_cols += CONIO_WIDTH
    // [81] clrscr::line_cols#1 = clrscr::line_cols#5 + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z line_cols
    sta.z line_cols
    bcc !+
    inc.z line_cols+1
  !:
    // for( char l=0;l<CONIO_HEIGHT; l++ )
    // [82] clrscr::l#1 = ++ clrscr::l#2 -- vbuxx=_inc_vbuxx 
    inx
    // [71] phi from clrscr::@5 to clrscr::@1 [phi:clrscr::@5->clrscr::@1]
    // [71] phi clrscr::line_cols#5 = clrscr::line_cols#1 [phi:clrscr::@5->clrscr::@1#0] -- register_copy 
    // [71] phi clrscr::line_text#5 = clrscr::line_text#1 [phi:clrscr::@5->clrscr::@1#1] -- register_copy 
    // [71] phi clrscr::l#2 = clrscr::l#1 [phi:clrscr::@5->clrscr::@1#2] -- register_copy 
    jmp __b1
    // clrscr::@4
  __b4:
    // line_text[c] = ' '
    // [83] clrscr::line_text#5[clrscr::c#2] = ' ' -- pbuz1_derefidx_vbuyy=vbuc1 
    lda #' '
    sta (line_text),y
    // line_cols[c] = conio_textcolor
    // [84] clrscr::line_cols#5[clrscr::c#2] = LIGHT_BLUE -- pbuz1_derefidx_vbuyy=vbuc1 
    lda #LIGHT_BLUE
    sta (line_cols),y
    // for( char c=0;c<CONIO_WIDTH; c++ )
    // [85] clrscr::c#1 = ++ clrscr::c#2 -- vbuyy=_inc_vbuyy 
    iny
    // [78] phi from clrscr::@4 to clrscr::@3 [phi:clrscr::@4->clrscr::@3]
    // [78] phi clrscr::c#2 = clrscr::c#1 [phi:clrscr::@4->clrscr::@3#0] -- register_copy 
    jmp __b3
}
  // printf_str
/// Print a NUL-terminated string
// void printf_str(__zp($f) void (*putc)(char), __zp($13) const char *s)
printf_str: {
    .label s = $13
    .label putc = $f
    // [87] phi from printf_str printf_str::@2 to printf_str::@1 [phi:printf_str/printf_str::@2->printf_str::@1]
    // [87] phi printf_str::s#11 = printf_str::s#12 [phi:printf_str/printf_str::@2->printf_str::@1#0] -- register_copy 
    // printf_str::@1
  __b1:
    // while(c=*s++)
    // [88] printf_str::c#1 = *printf_str::s#11 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (s),y
    // [89] printf_str::s#0 = ++ printf_str::s#11 -- pbuz1=_inc_pbuz1 
    inc.z s
    bne !+
    inc.z s+1
  !:
    // [90] if(0!=printf_str::c#1) goto printf_str::@2 -- 0_neq_vbuaa_then_la1 
    cmp #0
    bne __b2
    // printf_str::@return
    // }
    // [91] return 
    rts
    // printf_str::@2
  __b2:
    // putc(c)
    // [92] stackpush(char) = printf_str::c#1 -- _stackpushbyte_=vbuaa 
    pha
    // [93] callexecute *printf_str::putc#12  -- call__deref_pprz1 
    jsr icall1
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    jmp __b1
    // Outside Flow
  icall1:
    jmp (putc)
}
  // printf_uint
// Print an unsigned int using a specific format
// void printf_uint(void (*putc)(char), unsigned int uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_uint: {
    .const format_min_length = 0
    .const format_justify_left = 0
    .const format_zero_padding = 0
    .const format_upper_case = 0
    .label putc = cputc
    .label uvalue = 8
    // printf_uint::@1
    // printf_buffer.sign = format.sign_always?'+':0
    // [96] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // utoa(uvalue, printf_buffer.digits, format.radix)
    // [97] call utoa
  // Format number into buffer
    // [142] phi from printf_uint::@1 to utoa [phi:printf_uint::@1->utoa]
    jsr utoa
    // printf_uint::@2
    // printf_number_buffer(putc, printf_buffer, format)
    // [98] printf_number_buffer::buffer_sign#1 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 
    lda printf_buffer
    sta.z printf_number_buffer.buffer_sign
    // [99] call printf_number_buffer
  // Print using format
    // [163] phi from printf_uint::@2 to printf_number_buffer [phi:printf_uint::@2->printf_number_buffer]
    // [163] phi printf_number_buffer::format_upper_case#10 = printf_uint::format_upper_case#0 [phi:printf_uint::@2->printf_number_buffer#0] -- vbuz1=vbuc1 
    lda #format_upper_case
    sta.z printf_number_buffer.format_upper_case
    // [163] phi printf_number_buffer::putc#10 = printf_uint::putc#0 [phi:printf_uint::@2->printf_number_buffer#1] -- pprz1=pprc1 
    lda #<putc
    sta.z printf_number_buffer.putc
    lda #>putc
    sta.z printf_number_buffer.putc+1
    // [163] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#1 [phi:printf_uint::@2->printf_number_buffer#2] -- register_copy 
    // [163] phi printf_number_buffer::format_zero_padding#10 = printf_uint::format_zero_padding#0 [phi:printf_uint::@2->printf_number_buffer#3] -- vbuz1=vbuc1 
    lda #format_zero_padding
    sta.z printf_number_buffer.format_zero_padding
    // [163] phi printf_number_buffer::format_justify_left#10 = printf_uint::format_justify_left#0 [phi:printf_uint::@2->printf_number_buffer#4] -- vbuz1=vbuc1 
    lda #format_justify_left
    sta.z printf_number_buffer.format_justify_left
    // [163] phi printf_number_buffer::format_min_length#3 = printf_uint::format_min_length#0 [phi:printf_uint::@2->printf_number_buffer#5] -- vbuxx=vbuc1 
    ldx #format_min_length
    jsr printf_number_buffer
    // printf_uint::@return
    // }
    // [100] return 
    rts
}
  // queens
// Generates all valid placements of queens on a NxN board without recursion
// Works exactly like the recursive solution by generating all legal placements af a queen for a specific row taking into consideration the queens already placed on the rows below 
// and then moving on to generating all legal placements on the rows above.
// In practice this works like a depth first tree search where the level in the tree is the row on the board and each branch in the tree is the legal placement of a queen on that row. 
// The solution uses the board itself as a "cursor" moving through all possibilities
// When all columns on a row is exhausted move back down to the lower level and move forward one position until we are done with the last position on the first row
queens: {
    // The current row where the queen is moving
    .label row = $a
    // [102] phi from queens to queens::@1 [phi:queens->queens::@1]
    // [102] phi count#10 = 0 [phi:queens->queens::@1#0] -- vduz1=vduc1 
    lda #<0
    sta.z count
    sta.z count+1
    lda #<0>>$10
    sta.z count+2
    lda #>0>>$10
    sta.z count+3
    // [102] phi queens::row#10 = 1 [phi:queens->queens::@1#1] -- vbuz1=vbuc1 
    lda #1
    sta.z row
    // [102] phi from queens::@4 queens::@7 queens::@8 queens::@9 to queens::@1 [phi:queens::@4/queens::@7/queens::@8/queens::@9->queens::@1]
    // [102] phi count#10 = count#2 [phi:queens::@4/queens::@7/queens::@8/queens::@9->queens::@1#0] -- register_copy 
    // [102] phi queens::row#10 = queens::row#10 [phi:queens::@4/queens::@7/queens::@8/queens::@9->queens::@1#1] -- register_copy 
    // queens::@1
    // queens::@2
  __b2:
    // board[row]++;
    // [103] board[queens::row#10] = ++ board[queens::row#10] -- pbuc1_derefidx_vbuz1=_inc_pbuc1_derefidx_vbuz1 
    ldx.z row
    inc board,x
    // if(board[row]==QUEENS+1)
    // [104] if(board[queens::row#10]==8+1) goto queens::@3 -- pbuc1_derefidx_vbuz1_eq_vbuc2_then_la1 
    ldy.z row
    lda board,y
    cmp #8+1
    beq __b3
    // queens::@5
    // legal(row, board[row])
    // [105] legal::row#0 = queens::row#10
    // [106] legal::column#0 = board[queens::row#10] -- vbuz1=pbuc1_derefidx_vbuz2 
    lda board,y
    sta.z legal.column
    // [107] call legal
    // [204] phi from queens::@5 to legal [phi:queens::@5->legal]
    jsr legal
    // legal(row, board[row])
    // [108] legal::return#0 = legal::return#4
    // queens::@9
    // [109] queens::$2 = legal::return#0
    // if(legal(row, board[row]))
    // [110] if(0==queens::$2) goto queens::@1 -- 0_eq_vbuaa_then_la1 
    cmp #0
    beq __b2
    // queens::@6
    // if(row==QUEENS)
    // [111] if(queens::row#10==8) goto queens::@4 -- vbuz1_eq_vbuc1_then_la1 
    // position is legal - move up to the next row
    lda #8
    cmp.z row
    beq __b4
    // queens::@7
    // row++;
    // [112] queens::row#1 = ++ queens::row#10 -- vbuz1=_inc_vbuz1 
    inc.z row
    jmp __b2
    // queens::@4
  __b4:
    // ++count;
    // [113] count#2 = ++ count#10 -- vduz1=_inc_vduz1 
    inc.z count
    bne !+
    inc.z count+1
    bne !+
    inc.z count+2
    bne !+
    inc.z count+3
  !:
    // print()
    // [114] call print
    // [222] phi from queens::@4 to print [phi:queens::@4->print]
    jsr print
    jmp __b2
    // queens::@3
  __b3:
    // board[row] = 0
    // [115] board[queens::row#10] = 0 -- pbuc1_derefidx_vbuz1=vbuc2 
    // We moved past the end of the row - reset position and go down to the lower row
    lda #0
    ldy.z row
    sta board,y
    // if(row==1)
    // [116] if(queens::row#10==1) goto queens::@return -- vbuz1_eq_vbuc1_then_la1 
    lda #1
    cmp.z row
    beq __breturn
    // queens::@8
    // row--;
    // [117] queens::row#2 = -- queens::row#10 -- vbuz1=_dec_vbuz1 
    dec.z row
    jmp __b2
    // queens::@return
  __breturn:
    // }
    // [118] return 
    rts
}
  // printf_ulong
// Print an unsigned int using a specific format
// void printf_ulong(void (*putc)(char), __zp(6) unsigned long uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_ulong: {
    .label uvalue = 6
    // printf_ulong::@1
    // printf_buffer.sign = format.sign_always?'+':0
    // [120] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // ultoa(uvalue, printf_buffer.digits, format.radix)
    // [121] ultoa::value#1 = printf_ulong::uvalue#2
    // [122] call ultoa
  // Format number into buffer
    // [251] phi from printf_ulong::@1 to ultoa [phi:printf_ulong::@1->ultoa]
    jsr ultoa
    // printf_ulong::@2
    // printf_number_buffer(putc, printf_buffer, format)
    // [123] printf_number_buffer::buffer_sign#0 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 
    lda printf_buffer
    sta.z printf_number_buffer.buffer_sign
    // [124] call printf_number_buffer
  // Print using format
    // [163] phi from printf_ulong::@2 to printf_number_buffer [phi:printf_ulong::@2->printf_number_buffer]
    // [163] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#0] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_upper_case
    // [163] phi printf_number_buffer::putc#10 = &cputc [phi:printf_ulong::@2->printf_number_buffer#1] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_number_buffer.putc
    lda #>cputc
    sta.z printf_number_buffer.putc+1
    // [163] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#0 [phi:printf_ulong::@2->printf_number_buffer#2] -- register_copy 
    // [163] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#3] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_zero_padding
    // [163] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_ulong::@2->printf_number_buffer#4] -- vbuz1=vbuc1 
    sta.z printf_number_buffer.format_justify_left
    // [163] phi printf_number_buffer::format_min_length#3 = 0 [phi:printf_ulong::@2->printf_number_buffer#5] -- vbuxx=vbuc1 
    tax
    jsr printf_number_buffer
    // printf_ulong::@return
    // }
    // [125] return 
    rts
}
  // kbhit
// Return true if there's a key waiting, return false if not
kbhit: {
    // CIA#1 Port A: keyboard matrix columns and joystick #2
    .label CIA1_PORT_A = $dc00
    // CIA#1 Port B: keyboard matrix rows and joystick #1.
    .label CIA1_PORT_B = $dc01
    // *CIA1_PORT_A = 0
    // [126] *kbhit::CIA1_PORT_A = 0 -- _deref_pbuc1=vbuc2 
    lda #0
    sta CIA1_PORT_A
    // ~*CIA1_PORT_B
    // [127] kbhit::return#0 = ~ *kbhit::CIA1_PORT_B -- vbuaa=_bnot__deref_pbuc1 
    lda CIA1_PORT_B
    eor #$ff
    // kbhit::@return
    // }
    // [128] return 
    rts
}
  // cscroll
// Scroll the entire screen if the cursor is beyond the last line
cscroll: {
    // if(conio_cursor_y==CONIO_HEIGHT)
    // [129] if(conio_cursor_y!=$19) goto cscroll::@return -- vbuz1_neq_vbuc1_then_la1 
    lda #$19
    cmp.z conio_cursor_y
    bne __breturn
    // [130] phi from cscroll to cscroll::@1 [phi:cscroll->cscroll::@1]
    // cscroll::@1
    // memcpy(CONIO_SCREEN_TEXT, CONIO_SCREEN_TEXT+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH)
    // [131] call memcpy
    // [272] phi from cscroll::@1 to memcpy [phi:cscroll::@1->memcpy]
    // [272] phi memcpy::destination#2 = (void *)DEFAULT_SCREEN [phi:cscroll::@1->memcpy#0] -- pvoz1=pvoc1 
    lda #<DEFAULT_SCREEN
    sta.z memcpy.destination
    lda #>DEFAULT_SCREEN
    sta.z memcpy.destination+1
    // [272] phi memcpy::source#2 = (void *)DEFAULT_SCREEN+$28 [phi:cscroll::@1->memcpy#1] -- pvoz1=pvoc1 
    lda #<DEFAULT_SCREEN+$28
    sta.z memcpy.source
    lda #>DEFAULT_SCREEN+$28
    sta.z memcpy.source+1
    jsr memcpy
    // [132] phi from cscroll::@1 to cscroll::@2 [phi:cscroll::@1->cscroll::@2]
    // cscroll::@2
    // memcpy(CONIO_SCREEN_COLORS, CONIO_SCREEN_COLORS+CONIO_WIDTH, CONIO_BYTES-CONIO_WIDTH)
    // [133] call memcpy
    // [272] phi from cscroll::@2 to memcpy [phi:cscroll::@2->memcpy]
    // [272] phi memcpy::destination#2 = (void *)COLORRAM [phi:cscroll::@2->memcpy#0] -- pvoz1=pvoc1 
    lda #<COLORRAM
    sta.z memcpy.destination
    lda #>COLORRAM
    sta.z memcpy.destination+1
    // [272] phi memcpy::source#2 = (void *)COLORRAM+$28 [phi:cscroll::@2->memcpy#1] -- pvoz1=pvoc1 
    lda #<COLORRAM+$28
    sta.z memcpy.source
    lda #>COLORRAM+$28
    sta.z memcpy.source+1
    jsr memcpy
    // [134] phi from cscroll::@2 to cscroll::@3 [phi:cscroll::@2->cscroll::@3]
    // cscroll::@3
    // memset(CONIO_SCREEN_TEXT+CONIO_BYTES-CONIO_WIDTH, ' ', CONIO_WIDTH)
    // [135] call memset
    // [282] phi from cscroll::@3 to memset [phi:cscroll::@3->memset]
    // [282] phi memset::c#4 = ' ' [phi:cscroll::@3->memset#0] -- vbuxx=vbuc1 
    ldx #' '
    // [282] phi memset::str#3 = (void *)DEFAULT_SCREEN+(unsigned int)$19*$28-$28 [phi:cscroll::@3->memset#1] -- pvoz1=pvoc1 
    lda #<DEFAULT_SCREEN+$19*$28-$28
    sta.z memset.str
    lda #>DEFAULT_SCREEN+$19*$28-$28
    sta.z memset.str+1
    jsr memset
    // [136] phi from cscroll::@3 to cscroll::@4 [phi:cscroll::@3->cscroll::@4]
    // cscroll::@4
    // memset(CONIO_SCREEN_COLORS+CONIO_BYTES-CONIO_WIDTH, conio_textcolor, CONIO_WIDTH)
    // [137] call memset
    // [282] phi from cscroll::@4 to memset [phi:cscroll::@4->memset]
    // [282] phi memset::c#4 = LIGHT_BLUE [phi:cscroll::@4->memset#0] -- vbuxx=vbuc1 
    ldx #LIGHT_BLUE
    // [282] phi memset::str#3 = (void *)COLORRAM+(unsigned int)$19*$28-$28 [phi:cscroll::@4->memset#1] -- pvoz1=pvoc1 
    lda #<COLORRAM+$19*$28-$28
    sta.z memset.str
    lda #>COLORRAM+$19*$28-$28
    sta.z memset.str+1
    jsr memset
    // cscroll::@5
    // conio_line_text -= CONIO_WIDTH
    // [138] conio_line_text = conio_line_text - $28 -- pbuz1=pbuz1_minus_vbuc1 
    sec
    lda.z conio_line_text
    sbc #$28
    sta.z conio_line_text
    lda.z conio_line_text+1
    sbc #0
    sta.z conio_line_text+1
    // conio_line_color -= CONIO_WIDTH
    // [139] conio_line_color = conio_line_color - $28 -- pbuz1=pbuz1_minus_vbuc1 
    sec
    lda.z conio_line_color
    sbc #$28
    sta.z conio_line_color
    lda.z conio_line_color+1
    sbc #0
    sta.z conio_line_color+1
    // conio_cursor_y--;
    // [140] conio_cursor_y = -- conio_cursor_y -- vbuz1=_dec_vbuz1 
    dec.z conio_cursor_y
    // cscroll::@return
  __breturn:
    // }
    // [141] return 
    rts
}
  // utoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void utoa(__zp($f) unsigned int value, __zp($13) char *buffer, char radix)
utoa: {
    .const max_digits = 5
    .label digit_value = $28
    .label buffer = $13
    .label digit = $a
    .label value = $f
    // [143] phi from utoa to utoa::@1 [phi:utoa->utoa::@1]
    // [143] phi utoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:utoa->utoa::@1#0] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer+1
    // [143] phi utoa::started#2 = 0 [phi:utoa->utoa::@1#1] -- vbuxx=vbuc1 
    ldx #0
    // [143] phi utoa::value#2 = printf_uint::uvalue#0 [phi:utoa->utoa::@1#2] -- vwuz1=vwuc1 
    lda #<printf_uint.uvalue
    sta.z value
    lda #>printf_uint.uvalue
    sta.z value+1
    // [143] phi utoa::digit#2 = 0 [phi:utoa->utoa::@1#3] -- vbuz1=vbuc1 
    txa
    sta.z digit
    // utoa::@1
  __b1:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [144] if(utoa::digit#2<utoa::max_digits#1-1) goto utoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #max_digits-1
    bcc __b2
    // utoa::@3
    // *buffer++ = DIGITS[(char)value]
    // [145] utoa::$11 = (char)utoa::value#2 -- vbuxx=_byte_vwuz1 
    ldx.z value
    // [146] *utoa::buffer#11 = DIGITS[utoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // *buffer++ = DIGITS[(char)value];
    // [147] utoa::buffer#3 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // *buffer = 0
    // [148] *utoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (buffer),y
    // utoa::@return
    // }
    // [149] return 
    rts
    // utoa::@2
  __b2:
    // unsigned int digit_value = digit_values[digit]
    // [150] utoa::$10 = utoa::digit#2 << 1 -- vbuaa=vbuz1_rol_1 
    lda.z digit
    asl
    // [151] utoa::digit_value#0 = RADIX_DECIMAL_VALUES[utoa::$10] -- vwuz1=pwuc1_derefidx_vbuaa 
    tay
    lda RADIX_DECIMAL_VALUES,y
    sta.z digit_value
    lda RADIX_DECIMAL_VALUES+1,y
    sta.z digit_value+1
    // if (started || value >= digit_value)
    // [152] if(0!=utoa::started#2) goto utoa::@5 -- 0_neq_vbuxx_then_la1 
    cpx #0
    bne __b5
    // utoa::@7
    // [153] if(utoa::value#2>=utoa::digit_value#0) goto utoa::@5 -- vwuz1_ge_vwuz2_then_la1 
    cmp.z value+1
    bne !+
    lda.z digit_value
    cmp.z value
    beq __b5
  !:
    bcc __b5
    // [154] phi from utoa::@7 to utoa::@4 [phi:utoa::@7->utoa::@4]
    // [154] phi utoa::buffer#14 = utoa::buffer#11 [phi:utoa::@7->utoa::@4#0] -- register_copy 
    // [154] phi utoa::started#4 = utoa::started#2 [phi:utoa::@7->utoa::@4#1] -- register_copy 
    // [154] phi utoa::value#6 = utoa::value#2 [phi:utoa::@7->utoa::@4#2] -- register_copy 
    // utoa::@4
  __b4:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [155] utoa::digit#1 = ++ utoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [143] phi from utoa::@4 to utoa::@1 [phi:utoa::@4->utoa::@1]
    // [143] phi utoa::buffer#11 = utoa::buffer#14 [phi:utoa::@4->utoa::@1#0] -- register_copy 
    // [143] phi utoa::started#2 = utoa::started#4 [phi:utoa::@4->utoa::@1#1] -- register_copy 
    // [143] phi utoa::value#2 = utoa::value#6 [phi:utoa::@4->utoa::@1#2] -- register_copy 
    // [143] phi utoa::digit#2 = utoa::digit#1 [phi:utoa::@4->utoa::@1#3] -- register_copy 
    jmp __b1
    // utoa::@5
  __b5:
    // utoa_append(buffer++, value, digit_value)
    // [156] utoa_append::buffer#0 = utoa::buffer#11
    // [157] utoa_append::value#0 = utoa::value#2
    // [158] utoa_append::sub#0 = utoa::digit_value#0
    // [159] call utoa_append
    // [290] phi from utoa::@5 to utoa_append [phi:utoa::@5->utoa_append]
    jsr utoa_append
    // utoa_append(buffer++, value, digit_value)
    // [160] utoa_append::return#0 = utoa_append::value#2
    // utoa::@6
    // value = utoa_append(buffer++, value, digit_value)
    // [161] utoa::value#0 = utoa_append::return#0
    // value = utoa_append(buffer++, value, digit_value);
    // [162] utoa::buffer#4 = ++ utoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [154] phi from utoa::@6 to utoa::@4 [phi:utoa::@6->utoa::@4]
    // [154] phi utoa::buffer#14 = utoa::buffer#4 [phi:utoa::@6->utoa::@4#0] -- register_copy 
    // [154] phi utoa::started#4 = 1 [phi:utoa::@6->utoa::@4#1] -- vbuxx=vbuc1 
    ldx #1
    // [154] phi utoa::value#6 = utoa::value#0 [phi:utoa::@6->utoa::@4#2] -- register_copy 
    jmp __b4
}
  // printf_number_buffer
// Print the contents of the number buffer using a specific format.
// This handles minimum length, zero-filling, and left/right justification from the format
// void printf_number_buffer(__zp($f) void (*putc)(char), __zp($e) char buffer_sign, char *buffer_digits, __register(X) char format_min_length, __zp($b) char format_justify_left, char format_sign_always, __zp($d) char format_zero_padding, __zp($17) char format_upper_case, char format_radix)
printf_number_buffer: {
    .label __19 = $19
    .label buffer_sign = $e
    .label padding = $18
    .label format_zero_padding = $d
    .label putc = $f
    .label format_justify_left = $b
    .label format_upper_case = $17
    // if(format.min_length)
    // [164] if(0==printf_number_buffer::format_min_length#3) goto printf_number_buffer::@1 -- 0_eq_vbuxx_then_la1 
    cpx #0
    beq __b6
    // [165] phi from printf_number_buffer to printf_number_buffer::@6 [phi:printf_number_buffer->printf_number_buffer::@6]
    // printf_number_buffer::@6
    // strlen(buffer.digits)
    // [166] call strlen
    // [297] phi from printf_number_buffer::@6 to strlen [phi:printf_number_buffer::@6->strlen]
    jsr strlen
    // strlen(buffer.digits)
    // [167] strlen::return#2 = strlen::len#2
    // printf_number_buffer::@14
    // [168] printf_number_buffer::$19 = strlen::return#2
    // signed char len = (signed char)strlen(buffer.digits)
    // [169] printf_number_buffer::len#0 = (signed char)printf_number_buffer::$19 -- vbsyy=_sbyte_vwuz1 
    // There is a minimum length - work out the padding
    ldy.z __19
    // if(buffer.sign)
    // [170] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@13 -- 0_eq_vbuz1_then_la1 
    lda.z buffer_sign
    beq __b13
    // printf_number_buffer::@7
    // len++;
    // [171] printf_number_buffer::len#1 = ++ printf_number_buffer::len#0 -- vbsyy=_inc_vbsyy 
    iny
    // [172] phi from printf_number_buffer::@14 printf_number_buffer::@7 to printf_number_buffer::@13 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13]
    // [172] phi printf_number_buffer::len#2 = printf_number_buffer::len#0 [phi:printf_number_buffer::@14/printf_number_buffer::@7->printf_number_buffer::@13#0] -- register_copy 
    // printf_number_buffer::@13
  __b13:
    // padding = (signed char)format.min_length - len
    // [173] printf_number_buffer::padding#1 = (signed char)printf_number_buffer::format_min_length#3 - printf_number_buffer::len#2 -- vbsz1=vbsxx_minus_vbsyy 
    txa
    sty.z $ff
    sec
    sbc.z $ff
    sta.z padding
    // if(padding<0)
    // [174] if(printf_number_buffer::padding#1>=0) goto printf_number_buffer::@21 -- vbsz1_ge_0_then_la1 
    cmp #0
    bpl __b1
    // [176] phi from printf_number_buffer printf_number_buffer::@13 to printf_number_buffer::@1 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1]
  __b6:
    // [176] phi printf_number_buffer::padding#10 = 0 [phi:printf_number_buffer/printf_number_buffer::@13->printf_number_buffer::@1#0] -- vbsz1=vbsc1 
    lda #0
    sta.z padding
    // [175] phi from printf_number_buffer::@13 to printf_number_buffer::@21 [phi:printf_number_buffer::@13->printf_number_buffer::@21]
    // printf_number_buffer::@21
    // [176] phi from printf_number_buffer::@21 to printf_number_buffer::@1 [phi:printf_number_buffer::@21->printf_number_buffer::@1]
    // [176] phi printf_number_buffer::padding#10 = printf_number_buffer::padding#1 [phi:printf_number_buffer::@21->printf_number_buffer::@1#0] -- register_copy 
    // printf_number_buffer::@1
  __b1:
    // if(!format.justify_left && !format.zero_padding && padding)
    // [177] if(0!=printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 
    lda.z format_justify_left
    bne __b2
    // printf_number_buffer::@17
    // [178] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@2 -- 0_neq_vbuz1_then_la1 
    lda.z format_zero_padding
    bne __b2
    // printf_number_buffer::@16
    // [179] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@8 -- 0_neq_vbsz1_then_la1 
    lda.z padding
    cmp #0
    bne __b8
    jmp __b2
    // printf_number_buffer::@8
  __b8:
    // printf_padding(putc, ' ',(char)padding)
    // [180] printf_padding::putc#0 = printf_number_buffer::putc#10
    // [181] printf_padding::length#0 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 
    lda.z padding
    sta.z printf_padding.length
    // [182] call printf_padding
    // [303] phi from printf_number_buffer::@8 to printf_padding [phi:printf_number_buffer::@8->printf_padding]
    // [303] phi printf_padding::putc#5 = printf_padding::putc#0 [phi:printf_number_buffer::@8->printf_padding#0] -- register_copy 
    // [303] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@8->printf_padding#1] -- vbuz1=vbuc1 
    lda #' '
    sta.z printf_padding.pad
    // [303] phi printf_padding::length#4 = printf_padding::length#0 [phi:printf_number_buffer::@8->printf_padding#2] -- register_copy 
    jsr printf_padding
    // printf_number_buffer::@2
  __b2:
    // if(buffer.sign)
    // [183] if(0==printf_number_buffer::buffer_sign#10) goto printf_number_buffer::@3 -- 0_eq_vbuz1_then_la1 
    lda.z buffer_sign
    beq __b3
    // printf_number_buffer::@9
    // putc(buffer.sign)
    // [184] stackpush(char) = printf_number_buffer::buffer_sign#10 -- _stackpushbyte_=vbuz1 
    pha
    // [185] callexecute *printf_number_buffer::putc#10  -- call__deref_pprz1 
    jsr icall2
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    // printf_number_buffer::@3
  __b3:
    // if(format.zero_padding && padding)
    // [187] if(0==printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@4 -- 0_eq_vbuz1_then_la1 
    lda.z format_zero_padding
    beq __b4
    // printf_number_buffer::@18
    // [188] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@10 -- 0_neq_vbsz1_then_la1 
    lda.z padding
    cmp #0
    bne __b10
    jmp __b4
    // printf_number_buffer::@10
  __b10:
    // printf_padding(putc, '0',(char)padding)
    // [189] printf_padding::putc#1 = printf_number_buffer::putc#10
    // [190] printf_padding::length#1 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 
    lda.z padding
    sta.z printf_padding.length
    // [191] call printf_padding
    // [303] phi from printf_number_buffer::@10 to printf_padding [phi:printf_number_buffer::@10->printf_padding]
    // [303] phi printf_padding::putc#5 = printf_padding::putc#1 [phi:printf_number_buffer::@10->printf_padding#0] -- register_copy 
    // [303] phi printf_padding::pad#5 = '0' [phi:printf_number_buffer::@10->printf_padding#1] -- vbuz1=vbuc1 
    lda #'0'
    sta.z printf_padding.pad
    // [303] phi printf_padding::length#4 = printf_padding::length#1 [phi:printf_number_buffer::@10->printf_padding#2] -- register_copy 
    jsr printf_padding
    // printf_number_buffer::@4
  __b4:
    // if(format.upper_case)
    // [192] if(0==printf_number_buffer::format_upper_case#10) goto printf_number_buffer::@5 -- 0_eq_vbuz1_then_la1 
    lda.z format_upper_case
    beq __b5
    // [193] phi from printf_number_buffer::@4 to printf_number_buffer::@11 [phi:printf_number_buffer::@4->printf_number_buffer::@11]
    // printf_number_buffer::@11
    // strupr(buffer.digits)
    // [194] call strupr
    // [311] phi from printf_number_buffer::@11 to strupr [phi:printf_number_buffer::@11->strupr]
    jsr strupr
    // printf_number_buffer::@5
  __b5:
    // printf_str(putc, buffer.digits)
    // [195] printf_str::putc#0 = printf_number_buffer::putc#10
    // [196] call printf_str
    // [86] phi from printf_number_buffer::@5 to printf_str [phi:printf_number_buffer::@5->printf_str]
    // [86] phi printf_str::putc#12 = printf_str::putc#0 [phi:printf_number_buffer::@5->printf_str#0] -- register_copy 
    // [86] phi printf_str::s#12 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:printf_number_buffer::@5->printf_str#1] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z printf_str.s
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z printf_str.s+1
    jsr printf_str
    // printf_number_buffer::@15
    // if(format.justify_left && !format.zero_padding && padding)
    // [197] if(0==printf_number_buffer::format_justify_left#10) goto printf_number_buffer::@return -- 0_eq_vbuz1_then_la1 
    lda.z format_justify_left
    beq __breturn
    // printf_number_buffer::@20
    // [198] if(0!=printf_number_buffer::format_zero_padding#10) goto printf_number_buffer::@return -- 0_neq_vbuz1_then_la1 
    lda.z format_zero_padding
    bne __breturn
    // printf_number_buffer::@19
    // [199] if(0!=printf_number_buffer::padding#10) goto printf_number_buffer::@12 -- 0_neq_vbsz1_then_la1 
    lda.z padding
    cmp #0
    bne __b12
    rts
    // printf_number_buffer::@12
  __b12:
    // printf_padding(putc, ' ',(char)padding)
    // [200] printf_padding::putc#2 = printf_number_buffer::putc#10
    // [201] printf_padding::length#2 = (char)printf_number_buffer::padding#10 -- vbuz1=vbuz2 
    lda.z padding
    sta.z printf_padding.length
    // [202] call printf_padding
    // [303] phi from printf_number_buffer::@12 to printf_padding [phi:printf_number_buffer::@12->printf_padding]
    // [303] phi printf_padding::putc#5 = printf_padding::putc#2 [phi:printf_number_buffer::@12->printf_padding#0] -- register_copy 
    // [303] phi printf_padding::pad#5 = ' ' [phi:printf_number_buffer::@12->printf_padding#1] -- vbuz1=vbuc1 
    lda #' '
    sta.z printf_padding.pad
    // [303] phi printf_padding::length#4 = printf_padding::length#2 [phi:printf_number_buffer::@12->printf_padding#2] -- register_copy 
    jsr printf_padding
    // printf_number_buffer::@return
  __breturn:
    // }
    // [203] return 
    rts
    // Outside Flow
  icall2:
    jmp (putc)
}
  // legal
// Checks is a placement of the queen on the board is legal.
// Checks the passed (row, column) against all queens placed on the board on lower rows.
// If no conflict for desired position returns 1 otherwise returns 0
// __register(A) char legal(__zp($a) char row, __zp($27) char column)
legal: {
    .label row = $a
    .label column = $27
    .label diff1_return = $b
    // [205] phi from legal to legal::@1 [phi:legal->legal::@1]
    // [205] phi legal::i#10 = 1 [phi:legal->legal::@1#0] -- vbuyy=vbuc1 
    ldy #1
    // legal::@1
  __b1:
    // row-1
    // [206] legal::$0 = legal::row#0 - 1 -- vbuxx=vbuz1_minus_1 
    ldx.z row
    dex
    // for(char i=1;i<=row-1;++i)
    // [207] if(legal::i#10<=legal::$0) goto legal::@2 -- vbuyy_le_vbuxx_then_la1 
    sty.z $ff
    cpx.z $ff
    bcs __b2
    // [208] phi from legal::@1 to legal::@return [phi:legal::@1->legal::@return]
    // [208] phi legal::return#4 = 1 [phi:legal::@1->legal::@return#0] -- vbuaa=vbuc1 
    lda #1
    rts
    // [208] phi from legal::@2 legal::@5 to legal::@return [phi:legal::@2/legal::@5->legal::@return]
  __b4:
    // [208] phi legal::return#4 = 0 [phi:legal::@2/legal::@5->legal::@return#0] -- vbuaa=vbuc1 
    lda #0
    // legal::@return
    // }
    // [209] return 
    rts
    // legal::@2
  __b2:
    // if(board[i]==column)
    // [210] if(board[legal::i#10]==legal::column#0) goto legal::@return -- pbuc1_derefidx_vbuyy_eq_vbuz1_then_la1 
    lda board,y
    cmp.z column
    beq __b4
    // legal::@4
    // diff(board[i],column)
    // [211] legal::diff1_a#0 = board[legal::i#10] -- vbuaa=pbuc1_derefidx_vbuyy 
    lda board,y
    // legal::diff1
    // if(a<b)
    // [212] if(legal::diff1_a#0<legal::column#0) goto legal::diff1_@1 -- vbuaa_lt_vbuz1_then_la1 
    cmp.z column
    bcc diff1___b1
    // legal::diff1_@3
    // return a-b;
    // [213] legal::diff1_return#1 = legal::diff1_a#0 - legal::column#0 -- vbuz1=vbuaa_minus_vbuz2 
    sec
    sbc.z column
    sta.z diff1_return
    // [214] phi from legal::diff1_@1 legal::diff1_@3 to legal::diff1_@return [phi:legal::diff1_@1/legal::diff1_@3->legal::diff1_@return]
    // [214] phi legal::diff1_return#2 = legal::diff1_return#0 [phi:legal::diff1_@1/legal::diff1_@3->legal::diff1_@return#0] -- register_copy 
    // legal::diff1_@return
    // legal::diff2
  diff2:
    // if(a<b)
    // [215] if(legal::i#10<legal::row#0) goto legal::diff2_@1 -- vbuyy_lt_vbuz1_then_la1 
    cpy.z row
    bcc diff2___b1
    // legal::diff2_@3
    // return a-b;
    // [216] legal::diff2_return#1 = legal::i#10 - legal::row#0 -- vbuaa=vbuyy_minus_vbuz1 
    tya
    sec
    sbc.z row
    // [217] phi from legal::diff2_@1 legal::diff2_@3 to legal::diff2_@return [phi:legal::diff2_@1/legal::diff2_@3->legal::diff2_@return]
    // [217] phi legal::diff2_return#2 = legal::diff2_return#0 [phi:legal::diff2_@1/legal::diff2_@3->legal::diff2_@return#0] -- register_copy 
    // legal::diff2_@return
    // legal::@5
  __b5:
    // if(diff(board[i],column)==diff(i,row))
    // [218] if(legal::diff1_return#2!=legal::diff2_return#2) goto legal::@3 -- vbuz1_neq_vbuaa_then_la1 
    cmp.z diff1_return
    bne __b3
    jmp __b4
    // legal::@3
  __b3:
    // for(char i=1;i<=row-1;++i)
    // [219] legal::i#1 = ++ legal::i#10 -- vbuyy=_inc_vbuyy 
    iny
    // [205] phi from legal::@3 to legal::@1 [phi:legal::@3->legal::@1]
    // [205] phi legal::i#10 = legal::i#1 [phi:legal::@3->legal::@1#0] -- register_copy 
    jmp __b1
    // legal::diff2_@1
  diff2___b1:
    // return b-a;
    // [220] legal::diff2_return#0 = legal::row#0 - legal::i#10 -- vbuaa=vbuz1_minus_vbuyy 
    tya
    eor #$ff
    sec
    adc.z row
    jmp __b5
    // legal::diff1_@1
  diff1___b1:
    // [221] legal::diff1_return#0 = legal::column#0 - legal::diff1_a#0 -- vbuz1=vbuz2_minus_vbuaa 
    eor #$ff
    sec
    adc.z column
    sta.z diff1_return
    jmp diff2
}
  // print
// Print the board with a legal placement.
print: {
    .label i = $27
    .label i1 = $c
    .label j = $d
    // gotoxy(0,5)
    // [223] call gotoxy
    // [49] phi from print to gotoxy [phi:print->gotoxy]
    // [49] phi gotoxy::y#4 = 5 [phi:print->gotoxy#0] -- vbuxx=vbuc1 
    ldx #5
    jsr gotoxy
    // [224] phi from print to print::@11 [phi:print->print::@11]
    // print::@11
    // printf("\n#%lu:\n ",count)
    // [225] call printf_str
    // [86] phi from print::@11 to printf_str [phi:print::@11->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@11->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s [phi:print::@11->printf_str#1] -- pbuz1=pbuc1 
    lda #<s
    sta.z printf_str.s
    lda #>s
    sta.z printf_str.s+1
    jsr printf_str
    // print::@12
    // printf("\n#%lu:\n ",count)
    // [226] printf_ulong::uvalue#1 = count#2 -- vduz1=vduz2 
    lda.z count
    sta.z printf_ulong.uvalue
    lda.z count+1
    sta.z printf_ulong.uvalue+1
    lda.z count+2
    sta.z printf_ulong.uvalue+2
    lda.z count+3
    sta.z printf_ulong.uvalue+3
    // [227] call printf_ulong
    // [119] phi from print::@12 to printf_ulong [phi:print::@12->printf_ulong]
    // [119] phi printf_ulong::uvalue#2 = printf_ulong::uvalue#1 [phi:print::@12->printf_ulong#0] -- register_copy 
    jsr printf_ulong
    // [228] phi from print::@12 to print::@13 [phi:print::@12->print::@13]
    // print::@13
    // printf("\n#%lu:\n ",count)
    // [229] call printf_str
    // [86] phi from print::@13 to printf_str [phi:print::@13->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@13->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s1 [phi:print::@13->printf_str#1] -- pbuz1=pbuc1 
    lda #<s1
    sta.z printf_str.s
    lda #>s1
    sta.z printf_str.s+1
    jsr printf_str
    // [230] phi from print::@13 to print::@1 [phi:print::@13->print::@1]
    // [230] phi print::i#2 = 1 [phi:print::@13->print::@1#0] -- vbuz1=vbuc1 
    lda #1
    sta.z i
    // print::@1
  __b1:
    // for(char i=1;i<=QUEENS;++i)
    // [231] if(print::i#2<8+1) goto print::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z i
    cmp #8+1
    bcc __b2
    // [232] phi from print::@1 to print::@3 [phi:print::@1->print::@3]
    // [232] phi print::i1#2 = 1 [phi:print::@1->print::@3#0] -- vbuz1=vbuc1 
    lda #1
    sta.z i1
    // print::@3
  __b3:
    // for(char i=1;i<=QUEENS;++i)
    // [233] if(print::i1#2<8+1) goto print::@4 -- vbuz1_lt_vbuc1_then_la1 
    lda.z i1
    cmp #8+1
    bcc __b4
    // print::@return
    // }
    // [234] return 
    rts
    // [235] phi from print::@3 to print::@4 [phi:print::@3->print::@4]
    // print::@4
  __b4:
    // printf("\n%x",i)
    // [236] call printf_str
    // [86] phi from print::@4 to printf_str [phi:print::@4->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@4->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = s3 [phi:print::@4->printf_str#1] -- pbuz1=pbuc1 
    lda #<@s3
    sta.z printf_str.s
    lda #>@s3
    sta.z printf_str.s+1
    jsr printf_str
    // print::@15
    // printf("\n%x",i)
    // [237] printf_uchar::uvalue#1 = print::i1#2 -- vbuxx=vbuz1 
    ldx.z i1
    // [238] call printf_uchar
    // [321] phi from print::@15 to printf_uchar [phi:print::@15->printf_uchar]
    // [321] phi printf_uchar::uvalue#2 = printf_uchar::uvalue#1 [phi:print::@15->printf_uchar#0] -- register_copy 
    jsr printf_uchar
    // [239] phi from print::@15 to print::@5 [phi:print::@15->print::@5]
    // [239] phi print::j#2 = 1 [phi:print::@15->print::@5#0] -- vbuz1=vbuc1 
    lda #1
    sta.z j
    // print::@5
  __b5:
    // for(char j=1;j<=QUEENS;++j)
    // [240] if(print::j#2<8+1) goto print::@6 -- vbuz1_lt_vbuc1_then_la1 
    lda.z j
    cmp #8+1
    bcc __b6
    // print::@7
    // for(char i=1;i<=QUEENS;++i)
    // [241] print::i1#1 = ++ print::i1#2 -- vbuz1=_inc_vbuz1 
    inc.z i1
    // [232] phi from print::@7 to print::@3 [phi:print::@7->print::@3]
    // [232] phi print::i1#2 = print::i1#1 [phi:print::@7->print::@3#0] -- register_copy 
    jmp __b3
    // print::@6
  __b6:
    // if(board[i]==j)
    // [242] if(board[print::i1#2]==print::j#2) goto print::@8 -- pbuc1_derefidx_vbuz1_eq_vbuz2_then_la1 
    ldy.z i1
    lda board,y
    cmp.z j
    beq __b8
    // [243] phi from print::@6 to print::@10 [phi:print::@6->print::@10]
    // print::@10
    // printf("-")
    // [244] call printf_str
    // [86] phi from print::@10 to printf_str [phi:print::@10->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@10->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s4 [phi:print::@10->printf_str#1] -- pbuz1=pbuc1 
    lda #<s4
    sta.z printf_str.s
    lda #>s4
    sta.z printf_str.s+1
    jsr printf_str
    // print::@9
  __b9:
    // for(char j=1;j<=QUEENS;++j)
    // [245] print::j#1 = ++ print::j#2 -- vbuz1=_inc_vbuz1 
    inc.z j
    // [239] phi from print::@9 to print::@5 [phi:print::@9->print::@5]
    // [239] phi print::j#2 = print::j#1 [phi:print::@9->print::@5#0] -- register_copy 
    jmp __b5
    // [246] phi from print::@6 to print::@8 [phi:print::@6->print::@8]
    // print::@8
  __b8:
    // printf("Q")
    // [247] call printf_str
    // [86] phi from print::@8 to printf_str [phi:print::@8->printf_str]
    // [86] phi printf_str::putc#12 = &cputc [phi:print::@8->printf_str#0] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_str.putc
    lda #>cputc
    sta.z printf_str.putc+1
    // [86] phi printf_str::s#12 = print::s3 [phi:print::@8->printf_str#1] -- pbuz1=pbuc1 
    lda #<s3
    sta.z printf_str.s
    lda #>s3
    sta.z printf_str.s+1
    jsr printf_str
    jmp __b9
    // print::@2
  __b2:
    // printf("%x",i)
    // [248] printf_uchar::uvalue#0 = print::i#2 -- vbuxx=vbuz1 
    ldx.z i
    // [249] call printf_uchar
    // [321] phi from print::@2 to printf_uchar [phi:print::@2->printf_uchar]
    // [321] phi printf_uchar::uvalue#2 = printf_uchar::uvalue#0 [phi:print::@2->printf_uchar#0] -- register_copy 
    jsr printf_uchar
    // print::@14
    // for(char i=1;i<=QUEENS;++i)
    // [250] print::i#1 = ++ print::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [230] phi from print::@14 to print::@1 [phi:print::@14->print::@1]
    // [230] phi print::i#2 = print::i#1 [phi:print::@14->print::@1#0] -- register_copy 
    jmp __b1
  .segment Data
    s: .text @"\n#"
    .byte 0
    s1: .text @":\n "
    .byte 0
    s3: .text "Q"
    .byte 0
    s4: .text "-"
    .byte 0
}
.segment Code
  // ultoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void ultoa(__zp(6) unsigned long value, __zp($f) char *buffer, char radix)
ultoa: {
    .label digit_value = $2a
    .label buffer = $f
    .label digit = $e
    .label value = 6
    // [252] phi from ultoa to ultoa::@1 [phi:ultoa->ultoa::@1]
    // [252] phi ultoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:ultoa->ultoa::@1#0] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer+1
    // [252] phi ultoa::started#2 = 0 [phi:ultoa->ultoa::@1#1] -- vbuxx=vbuc1 
    ldx #0
    // [252] phi ultoa::value#2 = ultoa::value#1 [phi:ultoa->ultoa::@1#2] -- register_copy 
    // [252] phi ultoa::digit#2 = 0 [phi:ultoa->ultoa::@1#3] -- vbuz1=vbuc1 
    txa
    sta.z digit
    // ultoa::@1
  __b1:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [253] if(ultoa::digit#2<$a-1) goto ultoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #$a-1
    bcc __b2
    // ultoa::@3
    // *buffer++ = DIGITS[(char)value]
    // [254] ultoa::$11 = (char)ultoa::value#2 -- vbuaa=_byte_vduz1 
    lda.z value
    // [255] *ultoa::buffer#11 = DIGITS[ultoa::$11] -- _deref_pbuz1=pbuc1_derefidx_vbuaa 
    tay
    lda DIGITS,y
    ldy #0
    sta (buffer),y
    // *buffer++ = DIGITS[(char)value];
    // [256] ultoa::buffer#3 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // *buffer = 0
    // [257] *ultoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (buffer),y
    // ultoa::@return
    // }
    // [258] return 
    rts
    // ultoa::@2
  __b2:
    // unsigned long digit_value = digit_values[digit]
    // [259] ultoa::$10 = ultoa::digit#2 << 2 -- vbuaa=vbuz1_rol_2 
    lda.z digit
    asl
    asl
    // [260] ultoa::digit_value#0 = RADIX_DECIMAL_VALUES_LONG[ultoa::$10] -- vduz1=pduc1_derefidx_vbuaa 
    tay
    lda RADIX_DECIMAL_VALUES_LONG,y
    sta.z digit_value
    lda RADIX_DECIMAL_VALUES_LONG+1,y
    sta.z digit_value+1
    lda RADIX_DECIMAL_VALUES_LONG+2,y
    sta.z digit_value+2
    lda RADIX_DECIMAL_VALUES_LONG+3,y
    sta.z digit_value+3
    // if (started || value >= digit_value)
    // [261] if(0!=ultoa::started#2) goto ultoa::@5 -- 0_neq_vbuxx_then_la1 
    cpx #0
    bne __b5
    // ultoa::@7
    // [262] if(ultoa::value#2>=ultoa::digit_value#0) goto ultoa::@5 -- vduz1_ge_vduz2_then_la1 
    lda.z value+3
    cmp.z digit_value+3
    bcc !+
    bne __b5
    lda.z value+2
    cmp.z digit_value+2
    bcc !+
    bne __b5
    lda.z value+1
    cmp.z digit_value+1
    bcc !+
    bne __b5
    lda.z value
    cmp.z digit_value
    bcs __b5
  !:
    // [263] phi from ultoa::@7 to ultoa::@4 [phi:ultoa::@7->ultoa::@4]
    // [263] phi ultoa::buffer#14 = ultoa::buffer#11 [phi:ultoa::@7->ultoa::@4#0] -- register_copy 
    // [263] phi ultoa::started#4 = ultoa::started#2 [phi:ultoa::@7->ultoa::@4#1] -- register_copy 
    // [263] phi ultoa::value#6 = ultoa::value#2 [phi:ultoa::@7->ultoa::@4#2] -- register_copy 
    // ultoa::@4
  __b4:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [264] ultoa::digit#1 = ++ ultoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [252] phi from ultoa::@4 to ultoa::@1 [phi:ultoa::@4->ultoa::@1]
    // [252] phi ultoa::buffer#11 = ultoa::buffer#14 [phi:ultoa::@4->ultoa::@1#0] -- register_copy 
    // [252] phi ultoa::started#2 = ultoa::started#4 [phi:ultoa::@4->ultoa::@1#1] -- register_copy 
    // [252] phi ultoa::value#2 = ultoa::value#6 [phi:ultoa::@4->ultoa::@1#2] -- register_copy 
    // [252] phi ultoa::digit#2 = ultoa::digit#1 [phi:ultoa::@4->ultoa::@1#3] -- register_copy 
    jmp __b1
    // ultoa::@5
  __b5:
    // ultoa_append(buffer++, value, digit_value)
    // [265] ultoa_append::buffer#0 = ultoa::buffer#11
    // [266] ultoa_append::value#0 = ultoa::value#2
    // [267] ultoa_append::sub#0 = ultoa::digit_value#0
    // [268] call ultoa_append
    // [328] phi from ultoa::@5 to ultoa_append [phi:ultoa::@5->ultoa_append]
    jsr ultoa_append
    // ultoa_append(buffer++, value, digit_value)
    // [269] ultoa_append::return#0 = ultoa_append::value#2
    // ultoa::@6
    // value = ultoa_append(buffer++, value, digit_value)
    // [270] ultoa::value#0 = ultoa_append::return#0
    // value = ultoa_append(buffer++, value, digit_value);
    // [271] ultoa::buffer#4 = ++ ultoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [263] phi from ultoa::@6 to ultoa::@4 [phi:ultoa::@6->ultoa::@4]
    // [263] phi ultoa::buffer#14 = ultoa::buffer#4 [phi:ultoa::@6->ultoa::@4#0] -- register_copy 
    // [263] phi ultoa::started#4 = 1 [phi:ultoa::@6->ultoa::@4#1] -- vbuxx=vbuc1 
    ldx #1
    // [263] phi ultoa::value#6 = ultoa::value#0 [phi:ultoa::@6->ultoa::@4#2] -- register_copy 
    jmp __b4
}
  // memcpy
// Copy block of memory (forwards)
// Copies the values of num bytes from the location pointed to by source directly to the memory block pointed to by destination.
// void * memcpy(__zp($30) void *destination, __zp($11) void *source, unsigned int num)
memcpy: {
    .label src_end = $2e
    .label dst = $30
    .label src = $11
    .label source = $11
    .label destination = $30
    // char* src_end = (char*)source+num
    // [273] memcpy::src_end#0 = (char *)memcpy::source#2 + (unsigned int)$19*$28-$28 -- pbuz1=pbuz2_plus_vwuc1 
    lda.z source
    clc
    adc #<$19*$28-$28
    sta.z src_end
    lda.z source+1
    adc #>$19*$28-$28
    sta.z src_end+1
    // [274] memcpy::src#4 = (char *)memcpy::source#2
    // [275] memcpy::dst#4 = (char *)memcpy::destination#2
    // [276] phi from memcpy memcpy::@2 to memcpy::@1 [phi:memcpy/memcpy::@2->memcpy::@1]
    // [276] phi memcpy::dst#2 = memcpy::dst#4 [phi:memcpy/memcpy::@2->memcpy::@1#0] -- register_copy 
    // [276] phi memcpy::src#2 = memcpy::src#4 [phi:memcpy/memcpy::@2->memcpy::@1#1] -- register_copy 
    // memcpy::@1
  __b1:
    // while(src!=src_end)
    // [277] if(memcpy::src#2!=memcpy::src_end#0) goto memcpy::@2 -- pbuz1_neq_pbuz2_then_la1 
    lda.z src+1
    cmp.z src_end+1
    bne __b2
    lda.z src
    cmp.z src_end
    bne __b2
    // memcpy::@return
    // }
    // [278] return 
    rts
    // memcpy::@2
  __b2:
    // *dst++ = *src++
    // [279] *memcpy::dst#2 = *memcpy::src#2 -- _deref_pbuz1=_deref_pbuz2 
    ldy #0
    lda (src),y
    sta (dst),y
    // *dst++ = *src++;
    // [280] memcpy::dst#1 = ++ memcpy::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [281] memcpy::src#1 = ++ memcpy::src#2 -- pbuz1=_inc_pbuz1 
    inc.z src
    bne !+
    inc.z src+1
  !:
    jmp __b1
}
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(__zp($11) void *str, __register(X) char c, unsigned int num)
memset: {
    .label end = $30
    .label dst = $11
    .label str = $11
    // memset::@1
    // char* end = (char*)str + num
    // [283] memset::end#0 = (char *)memset::str#3 + $28 -- pbuz1=pbuz2_plus_vbuc1 
    lda #$28
    clc
    adc.z str
    sta.z end
    lda #0
    adc.z str+1
    sta.z end+1
    // [284] memset::dst#4 = (char *)memset::str#3
    // [285] phi from memset::@1 memset::@3 to memset::@2 [phi:memset::@1/memset::@3->memset::@2]
    // [285] phi memset::dst#2 = memset::dst#4 [phi:memset::@1/memset::@3->memset::@2#0] -- register_copy 
    // memset::@2
  __b2:
    // for(char* dst = str; dst!=end; dst++)
    // [286] if(memset::dst#2!=memset::end#0) goto memset::@3 -- pbuz1_neq_pbuz2_then_la1 
    lda.z dst+1
    cmp.z end+1
    bne __b3
    lda.z dst
    cmp.z end
    bne __b3
    // memset::@return
    // }
    // [287] return 
    rts
    // memset::@3
  __b3:
    // *dst = c
    // [288] *memset::dst#2 = memset::c#4 -- _deref_pbuz1=vbuxx 
    txa
    ldy #0
    sta (dst),y
    // for(char* dst = str; dst!=end; dst++)
    // [289] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    jmp __b2
}
  // utoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp($f) unsigned int utoa_append(__zp($13) char *buffer, __zp($f) unsigned int value, __zp($28) unsigned int sub)
utoa_append: {
    .label buffer = $13
    .label value = $f
    .label sub = $28
    .label return = $f
    // [291] phi from utoa_append to utoa_append::@1 [phi:utoa_append->utoa_append::@1]
    // [291] phi utoa_append::digit#2 = 0 [phi:utoa_append->utoa_append::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [291] phi utoa_append::value#2 = utoa_append::value#0 [phi:utoa_append->utoa_append::@1#1] -- register_copy 
    // utoa_append::@1
  __b1:
    // while (value >= sub)
    // [292] if(utoa_append::value#2>=utoa_append::sub#0) goto utoa_append::@2 -- vwuz1_ge_vwuz2_then_la1 
    lda.z sub+1
    cmp.z value+1
    bne !+
    lda.z sub
    cmp.z value
    beq __b2
  !:
    bcc __b2
    // utoa_append::@3
    // *buffer = DIGITS[digit]
    // [293] *utoa_append::buffer#0 = DIGITS[utoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // utoa_append::@return
    // }
    // [294] return 
    rts
    // utoa_append::@2
  __b2:
    // digit++;
    // [295] utoa_append::digit#1 = ++ utoa_append::digit#2 -- vbuxx=_inc_vbuxx 
    inx
    // value -= sub
    // [296] utoa_append::value#1 = utoa_append::value#2 - utoa_append::sub#0 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z value
    sec
    sbc.z sub
    sta.z value
    lda.z value+1
    sbc.z sub+1
    sta.z value+1
    // [291] phi from utoa_append::@2 to utoa_append::@1 [phi:utoa_append::@2->utoa_append::@1]
    // [291] phi utoa_append::digit#2 = utoa_append::digit#1 [phi:utoa_append::@2->utoa_append::@1#0] -- register_copy 
    // [291] phi utoa_append::value#2 = utoa_append::value#1 [phi:utoa_append::@2->utoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // strlen
// Computes the length of the string str up to but not including the terminating null character.
// __zp($19) unsigned int strlen(__zp($13) char *str)
strlen: {
    .label len = $19
    .label str = $13
    .label return = $19
    // [298] phi from strlen to strlen::@1 [phi:strlen->strlen::@1]
    // [298] phi strlen::len#2 = 0 [phi:strlen->strlen::@1#0] -- vwuz1=vwuc1 
    lda #<0
    sta.z len
    sta.z len+1
    // [298] phi strlen::str#2 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:strlen->strlen::@1#1] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z str
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z str+1
    // strlen::@1
  __b1:
    // while(*str)
    // [299] if(0!=*strlen::str#2) goto strlen::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    // strlen::@return
    // }
    // [300] return 
    rts
    // strlen::@2
  __b2:
    // len++;
    // [301] strlen::len#1 = ++ strlen::len#2 -- vwuz1=_inc_vwuz1 
    inc.z len
    bne !+
    inc.z len+1
  !:
    // str++;
    // [302] strlen::str#0 = ++ strlen::str#2 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    // [298] phi from strlen::@2 to strlen::@1 [phi:strlen::@2->strlen::@1]
    // [298] phi strlen::len#2 = strlen::len#1 [phi:strlen::@2->strlen::@1#0] -- register_copy 
    // [298] phi strlen::str#2 = strlen::str#0 [phi:strlen::@2->strlen::@1#1] -- register_copy 
    jmp __b1
}
  // printf_padding
// Print a padding char a number of times
// void printf_padding(__zp($f) void (*putc)(char), __zp($15) char pad, __zp($32) char length)
printf_padding: {
    .label i = $16
    .label putc = $f
    .label length = $32
    .label pad = $15
    // [304] phi from printf_padding to printf_padding::@1 [phi:printf_padding->printf_padding::@1]
    // [304] phi printf_padding::i#2 = 0 [phi:printf_padding->printf_padding::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // printf_padding::@1
  __b1:
    // for(char i=0;i<length; i++)
    // [305] if(printf_padding::i#2<printf_padding::length#4) goto printf_padding::@2 -- vbuz1_lt_vbuz2_then_la1 
    lda.z i
    cmp.z length
    bcc __b2
    // printf_padding::@return
    // }
    // [306] return 
    rts
    // printf_padding::@2
  __b2:
    // putc(pad)
    // [307] stackpush(char) = printf_padding::pad#5 -- _stackpushbyte_=vbuz1 
    lda.z pad
    pha
    // [308] callexecute *printf_padding::putc#5  -- call__deref_pprz1 
    jsr icall3
    // sideeffect stackpullbytes(1) -- _stackpullbyte_1 
    pla
    // printf_padding::@3
    // for(char i=0;i<length; i++)
    // [310] printf_padding::i#1 = ++ printf_padding::i#2 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [304] phi from printf_padding::@3 to printf_padding::@1 [phi:printf_padding::@3->printf_padding::@1]
    // [304] phi printf_padding::i#2 = printf_padding::i#1 [phi:printf_padding::@3->printf_padding::@1#0] -- register_copy 
    jmp __b1
    // Outside Flow
  icall3:
    jmp (putc)
}
  // strupr
// Converts a string to uppercase.
// char * strupr(char *str)
strupr: {
    .label str = printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    .label src = $28
    // [312] phi from strupr to strupr::@1 [phi:strupr->strupr::@1]
    // [312] phi strupr::src#2 = strupr::str#0 [phi:strupr->strupr::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z src
    lda #>str
    sta.z src+1
    // strupr::@1
  __b1:
    // while(*src)
    // [313] if(0!=*strupr::src#2) goto strupr::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (src),y
    cmp #0
    bne __b2
    // strupr::@return
    // }
    // [314] return 
    rts
    // strupr::@2
  __b2:
    // toupper(*src)
    // [315] toupper::ch#0 = *strupr::src#2 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (src),y
    // [316] call toupper
    jsr toupper
    // [317] toupper::return#3 = toupper::return#2
    // strupr::@3
    // [318] strupr::$0 = toupper::return#3
    // *src = toupper(*src)
    // [319] *strupr::src#2 = strupr::$0 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (src),y
    // src++;
    // [320] strupr::src#1 = ++ strupr::src#2 -- pbuz1=_inc_pbuz1 
    inc.z src
    bne !+
    inc.z src+1
  !:
    // [312] phi from strupr::@3 to strupr::@1 [phi:strupr::@3->strupr::@1]
    // [312] phi strupr::src#2 = strupr::src#1 [phi:strupr::@3->strupr::@1#0] -- register_copy 
    jmp __b1
}
  // printf_uchar
// Print an unsigned char using a specific format
// void printf_uchar(void (*putc)(char), __register(X) char uvalue, char format_min_length, char format_justify_left, char format_sign_always, char format_zero_padding, char format_upper_case, char format_radix)
printf_uchar: {
    // printf_uchar::@1
    // printf_buffer.sign = format.sign_always?'+':0
    // [322] *((char *)&printf_buffer) = 0 -- _deref_pbuc1=vbuc2 
    // Handle any sign
    lda #0
    sta printf_buffer
    // uctoa(uvalue, printf_buffer.digits, format.radix)
    // [323] uctoa::value#1 = printf_uchar::uvalue#2
    // [324] call uctoa
  // Format number into buffer
    // [340] phi from printf_uchar::@1 to uctoa [phi:printf_uchar::@1->uctoa]
    jsr uctoa
    // printf_uchar::@2
    // printf_number_buffer(putc, printf_buffer, format)
    // [325] printf_number_buffer::buffer_sign#2 = *((char *)&printf_buffer) -- vbuz1=_deref_pbuc1 
    lda printf_buffer
    sta.z printf_number_buffer.buffer_sign
    // [326] call printf_number_buffer
  // Print using format
    // [163] phi from printf_uchar::@2 to printf_number_buffer [phi:printf_uchar::@2->printf_number_buffer]
    // [163] phi printf_number_buffer::format_upper_case#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#0] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_upper_case
    // [163] phi printf_number_buffer::putc#10 = &cputc [phi:printf_uchar::@2->printf_number_buffer#1] -- pprz1=pprc1 
    lda #<cputc
    sta.z printf_number_buffer.putc
    lda #>cputc
    sta.z printf_number_buffer.putc+1
    // [163] phi printf_number_buffer::buffer_sign#10 = printf_number_buffer::buffer_sign#2 [phi:printf_uchar::@2->printf_number_buffer#2] -- register_copy 
    // [163] phi printf_number_buffer::format_zero_padding#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#3] -- vbuz1=vbuc1 
    lda #0
    sta.z printf_number_buffer.format_zero_padding
    // [163] phi printf_number_buffer::format_justify_left#10 = 0 [phi:printf_uchar::@2->printf_number_buffer#4] -- vbuz1=vbuc1 
    sta.z printf_number_buffer.format_justify_left
    // [163] phi printf_number_buffer::format_min_length#3 = 0 [phi:printf_uchar::@2->printf_number_buffer#5] -- vbuxx=vbuc1 
    tax
    jsr printf_number_buffer
    // printf_uchar::@return
    // }
    // [327] return 
    rts
}
  // ultoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __zp(6) unsigned long ultoa_append(__zp($f) char *buffer, __zp(6) unsigned long value, __zp($2a) unsigned long sub)
ultoa_append: {
    .label buffer = $f
    .label value = 6
    .label sub = $2a
    .label return = 6
    // [329] phi from ultoa_append to ultoa_append::@1 [phi:ultoa_append->ultoa_append::@1]
    // [329] phi ultoa_append::digit#2 = 0 [phi:ultoa_append->ultoa_append::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [329] phi ultoa_append::value#2 = ultoa_append::value#0 [phi:ultoa_append->ultoa_append::@1#1] -- register_copy 
    // ultoa_append::@1
  __b1:
    // while (value >= sub)
    // [330] if(ultoa_append::value#2>=ultoa_append::sub#0) goto ultoa_append::@2 -- vduz1_ge_vduz2_then_la1 
    lda.z value+3
    cmp.z sub+3
    bcc !+
    bne __b2
    lda.z value+2
    cmp.z sub+2
    bcc !+
    bne __b2
    lda.z value+1
    cmp.z sub+1
    bcc !+
    bne __b2
    lda.z value
    cmp.z sub
    bcs __b2
  !:
    // ultoa_append::@3
    // *buffer = DIGITS[digit]
    // [331] *ultoa_append::buffer#0 = DIGITS[ultoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // ultoa_append::@return
    // }
    // [332] return 
    rts
    // ultoa_append::@2
  __b2:
    // digit++;
    // [333] ultoa_append::digit#1 = ++ ultoa_append::digit#2 -- vbuxx=_inc_vbuxx 
    inx
    // value -= sub
    // [334] ultoa_append::value#1 = ultoa_append::value#2 - ultoa_append::sub#0 -- vduz1=vduz1_minus_vduz2 
    lda.z value
    sec
    sbc.z sub
    sta.z value
    lda.z value+1
    sbc.z sub+1
    sta.z value+1
    lda.z value+2
    sbc.z sub+2
    sta.z value+2
    lda.z value+3
    sbc.z sub+3
    sta.z value+3
    // [329] phi from ultoa_append::@2 to ultoa_append::@1 [phi:ultoa_append::@2->ultoa_append::@1]
    // [329] phi ultoa_append::digit#2 = ultoa_append::digit#1 [phi:ultoa_append::@2->ultoa_append::@1#0] -- register_copy 
    // [329] phi ultoa_append::value#2 = ultoa_append::value#1 [phi:ultoa_append::@2->ultoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // toupper
// Convert lowercase alphabet to uppercase
// Returns uppercase equivalent to c, if such value exists, else c remains unchanged
// __register(A) char toupper(__register(A) char ch)
toupper: {
    // if(ch>='a' && ch<='z')
    // [335] if(toupper::ch#0<'a') goto toupper::@return -- vbuaa_lt_vbuc1_then_la1 
    cmp #'a'
    bcc __breturn
    // toupper::@2
    // [336] if(toupper::ch#0<='z') goto toupper::@1 -- vbuaa_le_vbuc1_then_la1 
    cmp #'z'
    bcc __b1
    beq __b1
    // [338] phi from toupper toupper::@1 toupper::@2 to toupper::@return [phi:toupper/toupper::@1/toupper::@2->toupper::@return]
    // [338] phi toupper::return#2 = toupper::ch#0 [phi:toupper/toupper::@1/toupper::@2->toupper::@return#0] -- register_copy 
    rts
    // toupper::@1
  __b1:
    // return ch + ('A'-'a');
    // [337] toupper::return#0 = toupper::ch#0 + 'A'-'a' -- vbuaa=vbuaa_plus_vbuc1 
    clc
    adc #'A'-'a'
    // toupper::@return
  __breturn:
    // }
    // [339] return 
    rts
}
  // uctoa
// Converts unsigned number value to a string representing it in RADIX format.
// If the leading digits are zero they are not included in the string.
// - value : The number to be converted to RADIX
// - buffer : receives the string representing the number and zero-termination.
// - radix : The radix to convert the number to (from the enum RADIX)
// void uctoa(__register(X) char value, __zp($19) char *buffer, char radix)
uctoa: {
    .label digit_value = $32
    .label buffer = $19
    .label digit = $17
    .label started = $18
    // [341] phi from uctoa to uctoa::@1 [phi:uctoa->uctoa::@1]
    // [341] phi uctoa::buffer#11 = (char *)&printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS [phi:uctoa->uctoa::@1#0] -- pbuz1=pbuc1 
    lda #<printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer
    lda #>printf_buffer+OFFSET_STRUCT_PRINTF_BUFFER_NUMBER_DIGITS
    sta.z buffer+1
    // [341] phi uctoa::started#2 = 0 [phi:uctoa->uctoa::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z started
    // [341] phi uctoa::value#2 = uctoa::value#1 [phi:uctoa->uctoa::@1#2] -- register_copy 
    // [341] phi uctoa::digit#2 = 0 [phi:uctoa->uctoa::@1#3] -- vbuz1=vbuc1 
    sta.z digit
    // uctoa::@1
  __b1:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [342] if(uctoa::digit#2<2-1) goto uctoa::@2 -- vbuz1_lt_vbuc1_then_la1 
    lda.z digit
    cmp #2-1
    bcc __b2
    // uctoa::@3
    // *buffer++ = DIGITS[(char)value]
    // [343] *uctoa::buffer#11 = DIGITS[uctoa::value#2] -- _deref_pbuz1=pbuc1_derefidx_vbuxx 
    lda DIGITS,x
    ldy #0
    sta (buffer),y
    // *buffer++ = DIGITS[(char)value];
    // [344] uctoa::buffer#3 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // *buffer = 0
    // [345] *uctoa::buffer#3 = 0 -- _deref_pbuz1=vbuc1 
    lda #0
    tay
    sta (buffer),y
    // uctoa::@return
    // }
    // [346] return 
    rts
    // uctoa::@2
  __b2:
    // unsigned char digit_value = digit_values[digit]
    // [347] uctoa::digit_value#0 = RADIX_HEXADECIMAL_VALUES_CHAR[uctoa::digit#2] -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z digit
    lda RADIX_HEXADECIMAL_VALUES_CHAR,y
    sta.z digit_value
    // if (started || value >= digit_value)
    // [348] if(0!=uctoa::started#2) goto uctoa::@5 -- 0_neq_vbuz1_then_la1 
    lda.z started
    bne __b5
    // uctoa::@7
    // [349] if(uctoa::value#2>=uctoa::digit_value#0) goto uctoa::@5 -- vbuxx_ge_vbuz1_then_la1 
    cpx.z digit_value
    bcs __b5
    // [350] phi from uctoa::@7 to uctoa::@4 [phi:uctoa::@7->uctoa::@4]
    // [350] phi uctoa::buffer#14 = uctoa::buffer#11 [phi:uctoa::@7->uctoa::@4#0] -- register_copy 
    // [350] phi uctoa::started#4 = uctoa::started#2 [phi:uctoa::@7->uctoa::@4#1] -- register_copy 
    // [350] phi uctoa::value#6 = uctoa::value#2 [phi:uctoa::@7->uctoa::@4#2] -- register_copy 
    // uctoa::@4
  __b4:
    // for( char digit=0; digit<max_digits-1; digit++ )
    // [351] uctoa::digit#1 = ++ uctoa::digit#2 -- vbuz1=_inc_vbuz1 
    inc.z digit
    // [341] phi from uctoa::@4 to uctoa::@1 [phi:uctoa::@4->uctoa::@1]
    // [341] phi uctoa::buffer#11 = uctoa::buffer#14 [phi:uctoa::@4->uctoa::@1#0] -- register_copy 
    // [341] phi uctoa::started#2 = uctoa::started#4 [phi:uctoa::@4->uctoa::@1#1] -- register_copy 
    // [341] phi uctoa::value#2 = uctoa::value#6 [phi:uctoa::@4->uctoa::@1#2] -- register_copy 
    // [341] phi uctoa::digit#2 = uctoa::digit#1 [phi:uctoa::@4->uctoa::@1#3] -- register_copy 
    jmp __b1
    // uctoa::@5
  __b5:
    // uctoa_append(buffer++, value, digit_value)
    // [352] uctoa_append::buffer#0 = uctoa::buffer#11
    // [353] uctoa_append::value#0 = uctoa::value#2
    // [354] uctoa_append::sub#0 = uctoa::digit_value#0
    // [355] call uctoa_append
    // [359] phi from uctoa::@5 to uctoa_append [phi:uctoa::@5->uctoa_append]
    jsr uctoa_append
    // uctoa_append(buffer++, value, digit_value)
    // [356] uctoa_append::return#0 = uctoa_append::value#2
    // uctoa::@6
    // value = uctoa_append(buffer++, value, digit_value)
    // [357] uctoa::value#0 = uctoa_append::return#0
    // value = uctoa_append(buffer++, value, digit_value);
    // [358] uctoa::buffer#4 = ++ uctoa::buffer#11 -- pbuz1=_inc_pbuz1 
    inc.z buffer
    bne !+
    inc.z buffer+1
  !:
    // [350] phi from uctoa::@6 to uctoa::@4 [phi:uctoa::@6->uctoa::@4]
    // [350] phi uctoa::buffer#14 = uctoa::buffer#4 [phi:uctoa::@6->uctoa::@4#0] -- register_copy 
    // [350] phi uctoa::started#4 = 1 [phi:uctoa::@6->uctoa::@4#1] -- vbuz1=vbuc1 
    lda #1
    sta.z started
    // [350] phi uctoa::value#6 = uctoa::value#0 [phi:uctoa::@6->uctoa::@4#2] -- register_copy 
    jmp __b4
}
  // uctoa_append
// Used to convert a single digit of an unsigned number value to a string representation
// Counts a single digit up from '0' as long as the value is larger than sub.
// Each time the digit is increased sub is subtracted from value.
// - buffer : pointer to the char that receives the digit
// - value : The value where the digit will be derived from
// - sub : the value of a '1' in the digit. Subtracted continually while the digit is increased.
//        (For decimal the subs used are 10000, 1000, 100, 10, 1)
// returns : the value reduced by sub * digit so that it is less than sub.
// __register(X) char uctoa_append(__zp($19) char *buffer, __register(X) char value, __zp($32) char sub)
uctoa_append: {
    .label buffer = $19
    .label sub = $32
    // [360] phi from uctoa_append to uctoa_append::@1 [phi:uctoa_append->uctoa_append::@1]
    // [360] phi uctoa_append::digit#2 = 0 [phi:uctoa_append->uctoa_append::@1#0] -- vbuyy=vbuc1 
    ldy #0
    // [360] phi uctoa_append::value#2 = uctoa_append::value#0 [phi:uctoa_append->uctoa_append::@1#1] -- register_copy 
    // uctoa_append::@1
  __b1:
    // while (value >= sub)
    // [361] if(uctoa_append::value#2>=uctoa_append::sub#0) goto uctoa_append::@2 -- vbuxx_ge_vbuz1_then_la1 
    cpx.z sub
    bcs __b2
    // uctoa_append::@3
    // *buffer = DIGITS[digit]
    // [362] *uctoa_append::buffer#0 = DIGITS[uctoa_append::digit#2] -- _deref_pbuz1=pbuc1_derefidx_vbuyy 
    lda DIGITS,y
    ldy #0
    sta (buffer),y
    // uctoa_append::@return
    // }
    // [363] return 
    rts
    // uctoa_append::@2
  __b2:
    // digit++;
    // [364] uctoa_append::digit#1 = ++ uctoa_append::digit#2 -- vbuyy=_inc_vbuyy 
    iny
    // value -= sub
    // [365] uctoa_append::value#1 = uctoa_append::value#2 - uctoa_append::sub#0 -- vbuxx=vbuxx_minus_vbuz1 
    txa
    sec
    sbc.z sub
    tax
    // [360] phi from uctoa_append::@2 to uctoa_append::@1 [phi:uctoa_append::@2->uctoa_append::@1]
    // [360] phi uctoa_append::digit#2 = uctoa_append::digit#1 [phi:uctoa_append::@2->uctoa_append::@1#0] -- register_copy 
    // [360] phi uctoa_append::value#2 = uctoa_append::value#1 [phi:uctoa_append::@2->uctoa_append::@1#1] -- register_copy 
    jmp __b1
}
  // File Data
.segment Data
  // The digits used for numbers
  DIGITS: .text "0123456789abcdef"
  // Values of hexadecimal digits
  RADIX_HEXADECIMAL_VALUES_CHAR: .byte $10
  // Values of decimal digits
  RADIX_DECIMAL_VALUES: .word $2710, $3e8, $64, $a
  // Values of decimal digits
  RADIX_DECIMAL_VALUES_LONG: .dword $3b9aca00, $5f5e100, $989680, $f4240, $186a0, $2710, $3e8, $64, $a
  // The board. board[i] holds the column position of the queen on row i. 
  board: .fill $14, 0
  s3: .text @"\n"
  .byte 0
  // Buffer used for stringified number being printed
  printf_buffer: .fill SIZEOF_STRUCT_PRINTF_BUFFER_NUMBER, 0

