Inlined call call __init
Eliminating unused variable with no statement memset::$2
Eliminating unused variable with no statement div8s::$2
Eliminating unused variable with no statement divr16s::$4
Eliminating unused variable with no statement test_8u::$0
Eliminating unused variable with no statement test_16u::$0
Eliminating unused variable with no statement test_8s::$0
Eliminating unused variable with no statement test_16s::$0

CONTROL FLOW GRAPH SSA

void print_str(char *str)
print_str: scope:[print_str]  from test_16s::@3 test_16s::@5 test_16s::@7 test_16u::@3 test_16u::@5 test_16u::@7 test_8s::@3 test_8s::@5 test_8s::@7 test_8u::@3 test_8u::@5 test_8u::@7
  print_char_cursor#149 = phi( test_16s::@3/print_char_cursor#55, test_16s::@5/print_char_cursor#57, test_16s::@7/print_char_cursor#59, test_16u::@3/print_char_cursor#37, test_16u::@5/print_char_cursor#39, test_16u::@7/print_char_cursor#41, test_8s::@3/print_char_cursor#46, test_8s::@5/print_char_cursor#48, test_8s::@7/print_char_cursor#50, test_8u::@3/print_char_cursor#28, test_8u::@5/print_char_cursor#30, test_8u::@7/print_char_cursor#32 )
  print_str::str#16 = phi( test_16s::@3/print_str::str#10, test_16s::@5/print_str::str#11, test_16s::@7/print_str::str#12, test_16u::@3/print_str::str#4, test_16u::@5/print_str::str#5, test_16u::@7/print_str::str#6, test_8s::@3/print_str::str#7, test_8s::@5/print_str::str#8, test_8s::@7/print_str::str#9, test_8u::@3/print_str::str#1, test_8u::@5/print_str::str#2, test_8u::@7/print_str::str#3 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  print_char_cursor#133 = phi( print_str/print_char_cursor#149, print_str::@3/print_char_cursor#0 )
  print_str::str#13 = phi( print_str/print_str::str#16, print_str::@3/print_str::str#0 )
  print_str::$1 = 0 != *print_str::str#13
  if(print_str::$1) goto print_str::@2
  to:print_str::@return
print_str::@2: scope:[print_str]  from print_str::@1
  print_char_cursor#132 = phi( print_str::@1/print_char_cursor#133 )
  print_str::str#14 = phi( print_str::@1/print_str::str#13 )
  print_char::ch#0 = *print_str::str#14
  call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  print_str::str#15 = phi( print_str::@2/print_str::str#14 )
  print_char_cursor#67 = phi( print_str::@2/print_char_cursor#19 )
  print_char_cursor#0 = print_char_cursor#67
  print_str::str#0 = ++ print_str::str#15
  to:print_str::@1
print_str::@return: scope:[print_str]  from print_str::@1
  print_char_cursor#68 = phi( print_str::@1/print_char_cursor#133 )
  print_char_cursor#1 = print_char_cursor#68
  return 
  to:@return

void print_ln()
print_ln: scope:[print_ln]  from test_16s::@9 test_16u::@9 test_8s::@9 test_8u::@9
  print_char_cursor#134 = phi( test_16s::@9/print_char_cursor#61, test_16u::@9/print_char_cursor#43, test_8s::@9/print_char_cursor#52, test_8u::@9/print_char_cursor#34 )
  print_line_cursor#41 = phi( test_16s::@9/print_line_cursor#46, test_16u::@9/print_line_cursor#44, test_8s::@9/print_line_cursor#45, test_8u::@9/print_line_cursor#43 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  print_char_cursor#69 = phi( print_ln/print_char_cursor#134, print_ln::@1/print_char_cursor#69 )
  print_line_cursor#21 = phi( print_ln/print_line_cursor#41, print_ln::@1/print_line_cursor#0 )
  print_ln::$0 = print_line_cursor#21 + $28
  print_line_cursor#0 = print_ln::$0
  print_ln::$1 = print_line_cursor#0 < print_char_cursor#69
  if(print_ln::$1) goto print_ln::@1
  to:print_ln::@2
print_ln::@2: scope:[print_ln]  from print_ln::@1
  print_line_cursor#22 = phi( print_ln::@1/print_line_cursor#0 )
  print_char_cursor#2 = print_line_cursor#22
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@2
  print_char_cursor#70 = phi( print_ln::@2/print_char_cursor#2 )
  print_line_cursor#23 = phi( print_ln::@2/print_line_cursor#22 )
  print_line_cursor#1 = print_line_cursor#23
  print_char_cursor#3 = print_char_cursor#70
  return 
  to:@return

void print_sint(int w)
print_sint: scope:[print_sint]  from test_16s::@2 test_16s::@4 test_16s::@6 test_16s::@8
  print_char_cursor#150 = phi( test_16s::@2/print_char_cursor#147, test_16s::@4/print_char_cursor#56, test_16s::@6/print_char_cursor#58, test_16s::@8/print_char_cursor#60 )
  print_sint::w#5 = phi( test_16s::@2/print_sint::w#1, test_16s::@4/print_sint::w#2, test_16s::@6/print_sint::w#3, test_16s::@8/print_sint::w#4 )
  print_sint::$0 = print_sint::w#5 < 0
  if(print_sint::$0) goto print_sint::@1
  to:print_sint::@3
print_sint::@1: scope:[print_sint]  from print_sint
  print_sint::w#8 = phi( print_sint/print_sint::w#5 )
  print_char_cursor#135 = phi( print_sint/print_char_cursor#150 )
  print_char::ch#1 = '-'
  call print_char
  to:print_sint::@4
print_sint::@4: scope:[print_sint]  from print_sint::@1
  print_sint::w#6 = phi( print_sint::@1/print_sint::w#8 )
  print_char_cursor#71 = phi( print_sint::@1/print_char_cursor#19 )
  print_char_cursor#4 = print_char_cursor#71
  print_sint::$4 = - print_sint::w#6
  print_sint::w#0 = print_sint::$4
  to:print_sint::@2
print_sint::@3: scope:[print_sint]  from print_sint
  print_sint::w#10 = phi( print_sint/print_sint::w#5 )
  print_char_cursor#136 = phi( print_sint/print_char_cursor#150 )
  print_char::ch#2 = ' '
  call print_char
  to:print_sint::@5
print_sint::@5: scope:[print_sint]  from print_sint::@3
  print_sint::w#9 = phi( print_sint::@3/print_sint::w#10 )
  print_char_cursor#72 = phi( print_sint::@3/print_char_cursor#19 )
  print_char_cursor#5 = print_char_cursor#72
  to:print_sint::@2
print_sint::@2: scope:[print_sint]  from print_sint::@4 print_sint::@5
  print_char_cursor#137 = phi( print_sint::@4/print_char_cursor#4, print_sint::@5/print_char_cursor#5 )
  print_sint::w#7 = phi( print_sint::@4/print_sint::w#0, print_sint::@5/print_sint::w#9 )
  print_uint::w#0 = (unsigned int)print_sint::w#7
  call print_uint
  to:print_sint::@6
print_sint::@6: scope:[print_sint]  from print_sint::@2
  print_char_cursor#73 = phi( print_sint::@2/print_char_cursor#14 )
  print_char_cursor#6 = print_char_cursor#73
  to:print_sint::@return
print_sint::@return: scope:[print_sint]  from print_sint::@6
  print_char_cursor#74 = phi( print_sint::@6/print_char_cursor#6 )
  print_char_cursor#7 = print_char_cursor#74
  return 
  to:@return

void print_schar(signed char b)
print_schar: scope:[print_schar]  from test_8s::@2 test_8s::@4 test_8s::@6 test_8s::@8
  print_char_cursor#151 = phi( test_8s::@2/print_char_cursor#146, test_8s::@4/print_char_cursor#47, test_8s::@6/print_char_cursor#49, test_8s::@8/print_char_cursor#51 )
  print_schar::b#5 = phi( test_8s::@2/print_schar::b#1, test_8s::@4/print_schar::b#2, test_8s::@6/print_schar::b#3, test_8s::@8/print_schar::b#4 )
  print_schar::$0 = print_schar::b#5 < 0
  if(print_schar::$0) goto print_schar::@1
  to:print_schar::@3
print_schar::@1: scope:[print_schar]  from print_schar
  print_schar::b#8 = phi( print_schar/print_schar::b#5 )
  print_char_cursor#138 = phi( print_schar/print_char_cursor#151 )
  print_char::ch#3 = '-'
  call print_char
  to:print_schar::@4
print_schar::@4: scope:[print_schar]  from print_schar::@1
  print_schar::b#6 = phi( print_schar::@1/print_schar::b#8 )
  print_char_cursor#75 = phi( print_schar::@1/print_char_cursor#19 )
  print_char_cursor#8 = print_char_cursor#75
  print_schar::$4 = - print_schar::b#6
  print_schar::b#0 = print_schar::$4
  to:print_schar::@2
print_schar::@3: scope:[print_schar]  from print_schar
  print_schar::b#10 = phi( print_schar/print_schar::b#5 )
  print_char_cursor#139 = phi( print_schar/print_char_cursor#151 )
  print_char::ch#4 = ' '
  call print_char
  to:print_schar::@5
print_schar::@5: scope:[print_schar]  from print_schar::@3
  print_schar::b#9 = phi( print_schar::@3/print_schar::b#10 )
  print_char_cursor#76 = phi( print_schar::@3/print_char_cursor#19 )
  print_char_cursor#9 = print_char_cursor#76
  to:print_schar::@2
print_schar::@2: scope:[print_schar]  from print_schar::@4 print_schar::@5
  print_char_cursor#140 = phi( print_schar::@4/print_char_cursor#8, print_schar::@5/print_char_cursor#9 )
  print_schar::b#7 = phi( print_schar::@4/print_schar::b#0, print_schar::@5/print_schar::b#9 )
  print_uchar::b#0 = (char)print_schar::b#7
  call print_uchar
  to:print_schar::@6
print_schar::@6: scope:[print_schar]  from print_schar::@2
  print_char_cursor#77 = phi( print_schar::@2/print_char_cursor#17 )
  print_char_cursor#10 = print_char_cursor#77
  to:print_schar::@return
print_schar::@return: scope:[print_schar]  from print_schar::@6
  print_char_cursor#78 = phi( print_schar::@6/print_char_cursor#10 )
  print_char_cursor#11 = print_char_cursor#78
  return 
  to:@return

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from print_sint::@2 test_16u::@2 test_16u::@4 test_16u::@6 test_16u::@8
  print_char_cursor#141 = phi( print_sint::@2/print_char_cursor#137, test_16u::@2/print_char_cursor#145, test_16u::@4/print_char_cursor#38, test_16u::@6/print_char_cursor#40, test_16u::@8/print_char_cursor#42 )
  print_uint::w#5 = phi( print_sint::@2/print_uint::w#0, test_16u::@2/print_uint::w#1, test_16u::@4/print_uint::w#2, test_16u::@6/print_uint::w#3, test_16u::@8/print_uint::w#4 )
  print_uint::$0 = byte1  print_uint::w#5
  print_uchar::b#1 = print_uint::$0
  call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  print_uint::w#6 = phi( print_uint/print_uint::w#5 )
  print_char_cursor#79 = phi( print_uint/print_char_cursor#17 )
  print_char_cursor#12 = print_char_cursor#79
  print_uint::$2 = byte0  print_uint::w#6
  print_uchar::b#2 = print_uint::$2
  call print_uchar
  to:print_uint::@2
print_uint::@2: scope:[print_uint]  from print_uint::@1
  print_char_cursor#80 = phi( print_uint::@1/print_char_cursor#17 )
  print_char_cursor#13 = print_char_cursor#80
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@2
  print_char_cursor#81 = phi( print_uint::@2/print_char_cursor#13 )
  print_char_cursor#14 = print_char_cursor#81
  return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_schar::@2 print_uint print_uint::@1 test_8u::@2 test_8u::@4 test_8u::@6 test_8u::@8
  print_char_cursor#142 = phi( print_schar::@2/print_char_cursor#140, print_uint/print_char_cursor#141, print_uint::@1/print_char_cursor#12, test_8u::@2/print_char_cursor#144, test_8u::@4/print_char_cursor#29, test_8u::@6/print_char_cursor#31, test_8u::@8/print_char_cursor#33 )
  print_uchar::b#7 = phi( print_schar::@2/print_uchar::b#0, print_uint/print_uchar::b#1, print_uint::@1/print_uchar::b#2, test_8u::@2/print_uchar::b#3, test_8u::@4/print_uchar::b#4, test_8u::@6/print_uchar::b#5, test_8u::@8/print_uchar::b#6 )
  print_uchar::$0 = print_uchar::b#7 >> 4
  print_char::ch#5 = print_hextab[print_uchar::$0]
  call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  print_uchar::b#8 = phi( print_uchar/print_uchar::b#7 )
  print_char_cursor#82 = phi( print_uchar/print_char_cursor#19 )
  print_char_cursor#15 = print_char_cursor#82
  print_uchar::$2 = print_uchar::b#8 & $f
  print_char::ch#6 = print_hextab[print_uchar::$2]
  call print_char
  to:print_uchar::@2
print_uchar::@2: scope:[print_uchar]  from print_uchar::@1
  print_char_cursor#83 = phi( print_uchar::@1/print_char_cursor#19 )
  print_char_cursor#16 = print_char_cursor#83
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@2
  print_char_cursor#84 = phi( print_uchar::@2/print_char_cursor#16 )
  print_char_cursor#17 = print_char_cursor#84
  return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from print_schar::@1 print_schar::@3 print_sint::@1 print_sint::@3 print_str::@2 print_uchar print_uchar::@1
  print_char_cursor#85 = phi( print_schar::@1/print_char_cursor#138, print_schar::@3/print_char_cursor#139, print_sint::@1/print_char_cursor#135, print_sint::@3/print_char_cursor#136, print_str::@2/print_char_cursor#132, print_uchar/print_char_cursor#142, print_uchar::@1/print_char_cursor#15 )
  print_char::ch#7 = phi( print_schar::@1/print_char::ch#3, print_schar::@3/print_char::ch#4, print_sint::@1/print_char::ch#1, print_sint::@3/print_char::ch#2, print_str::@2/print_char::ch#0, print_uchar/print_char::ch#5, print_uchar::@1/print_char::ch#6 )
  *print_char_cursor#85 = print_char::ch#7
  print_char_cursor#18 = ++ print_char_cursor#85
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  print_char_cursor#86 = phi( print_char/print_char_cursor#18 )
  print_char_cursor#19 = print_char_cursor#86
  return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main
  print_screen#2 = phi( main/print_screen#5 )
  memset::str#0 = (void *)print_screen#2
  memset::c#0 = ' '
  memset::num#0 = $3e8
  call memset
  memset::return#0 = memset::return#2
  to:print_cls::@1
print_cls::@1: scope:[print_cls]  from print_cls
  print_screen#3 = phi( print_cls/print_screen#2 )
  print_line_cursor#2 = print_screen#3
  print_char_cursor#20 = print_line_cursor#2
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls::@1
  print_char_cursor#87 = phi( print_cls::@1/print_char_cursor#20 )
  print_line_cursor#24 = phi( print_cls::@1/print_line_cursor#2 )
  print_line_cursor#3 = print_line_cursor#24
  print_char_cursor#21 = print_char_cursor#87
  return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  memset::c#4 = phi( print_cls/memset::c#0 )
  memset::str#3 = phi( print_cls/memset::str#0 )
  memset::num#1 = phi( print_cls/memset::num#0 )
  memset::$0 = memset::num#1 > 0
  memset::$1 = ! memset::$0
  if(memset::$1) goto memset::@1
  to:memset::@2
memset::@1: scope:[memset]  from memset memset::@3
  memset::str#1 = phi( memset/memset::str#3, memset::@3/memset::str#4 )
  memset::return#1 = memset::str#1
  to:memset::@return
memset::@2: scope:[memset]  from memset
  memset::c#3 = phi( memset/memset::c#4 )
  memset::num#2 = phi( memset/memset::num#1 )
  memset::str#2 = phi( memset/memset::str#3 )
  memset::$4 = (char *)memset::str#2
  memset::end#0 = memset::$4 + memset::num#2
  memset::dst#0 = ((char *)) memset::str#2
  to:memset::@3
memset::@3: scope:[memset]  from memset::@2 memset::@4
  memset::c#2 = phi( memset::@2/memset::c#3, memset::@4/memset::c#1 )
  memset::str#4 = phi( memset::@2/memset::str#2, memset::@4/memset::str#5 )
  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#5 = phi( memset::@3/memset::str#4 )
  memset::end#2 = phi( memset::@3/memset::end#1 )
  memset::dst#3 = phi( memset::@3/memset::dst#2 )
  memset::c#1 = phi( memset::@3/memset::c#2 )
  *memset::dst#3 = memset::c#1
  memset::dst#1 = ++ memset::dst#3
  to:memset::@3
memset::@return: scope:[memset]  from memset::@1
  memset::return#3 = phi( memset::@1/memset::return#1 )
  memset::return#2 = memset::return#3
  return 
  to:@return

char div8u(char dividend , char divisor)
div8u: scope:[div8u]  from div8s::@4 test_8u::@1
  rem8u#33 = phi( div8s::@4/rem8u#34, test_8u::@1/rem8u#38 )
  div8u::divisor#2 = phi( div8s::@4/div8u::divisor#0, test_8u::@1/div8u::divisor#1 )
  div8u::dividend#2 = phi( div8s::@4/div8u::dividend#0, test_8u::@1/div8u::dividend#1 )
  divr8u::dividend#0 = div8u::dividend#2
  divr8u::divisor#0 = div8u::divisor#2
  divr8u::rem#0 = 0
  call divr8u
  divr8u::return#0 = divr8u::return#2
  to:div8u::@1
div8u::@1: scope:[div8u]  from div8u
  rem8u#16 = phi( div8u/rem8u#3 )
  divr8u::return#3 = phi( div8u/divr8u::return#0 )
  div8u::$0 = divr8u::return#3
  rem8u#0 = rem8u#16
  div8u::return#0 = div8u::$0
  to:div8u::@return
div8u::@return: scope:[div8u]  from div8u::@1
  rem8u#17 = phi( div8u::@1/rem8u#0 )
  div8u::return#4 = phi( div8u::@1/div8u::return#0 )
  div8u::return#1 = div8u::return#4
  rem8u#1 = rem8u#17
  return 
  to:@return

char divr8u(char dividend , char divisor , char rem)
divr8u: scope:[divr8u]  from div8u
  divr8u::divisor#5 = phi( div8u/divr8u::divisor#0 )
  divr8u::dividend#4 = phi( div8u/divr8u::dividend#0 )
  divr8u::rem#9 = phi( div8u/divr8u::rem#0 )
  divr8u::quotient#0 = 0
  divr8u::i#0 = 0
  to:divr8u::@1
divr8u::@1: scope:[divr8u]  from divr8u divr8u::@3
  divr8u::i#5 = phi( divr8u/divr8u::i#0, divr8u::@3/divr8u::i#1 )
  divr8u::divisor#3 = phi( divr8u/divr8u::divisor#5, divr8u::@3/divr8u::divisor#6 )
  divr8u::quotient#6 = phi( divr8u/divr8u::quotient#0, divr8u::@3/divr8u::quotient#8 )
  divr8u::dividend#2 = phi( divr8u/divr8u::dividend#4, divr8u::@3/divr8u::dividend#5 )
  divr8u::rem#4 = phi( divr8u/divr8u::rem#9, divr8u::@3/divr8u::rem#10 )
  divr8u::$0 = divr8u::rem#4 << 1
  divr8u::rem#1 = divr8u::$0
  divr8u::$1 = divr8u::dividend#2 & $80
  divr8u::$2 = divr8u::$1 != 0
  divr8u::$3 = ! divr8u::$2
  if(divr8u::$3) goto divr8u::@2
  to:divr8u::@4
divr8u::@2: scope:[divr8u]  from divr8u::@1 divr8u::@4
  divr8u::i#3 = phi( divr8u::@1/divr8u::i#5, divr8u::@4/divr8u::i#6 )
  divr8u::divisor#1 = phi( divr8u::@1/divr8u::divisor#3, divr8u::@4/divr8u::divisor#4 )
  divr8u::rem#5 = phi( divr8u::@1/divr8u::rem#1, divr8u::@4/divr8u::rem#2 )
  divr8u::quotient#3 = phi( divr8u::@1/divr8u::quotient#6, divr8u::@4/divr8u::quotient#7 )
  divr8u::dividend#3 = phi( divr8u::@1/divr8u::dividend#2, divr8u::@4/divr8u::dividend#6 )
  divr8u::$5 = divr8u::dividend#3 << 1
  divr8u::dividend#1 = divr8u::$5
  divr8u::$6 = divr8u::quotient#3 << 1
  divr8u::quotient#1 = divr8u::$6
  divr8u::$7 = divr8u::rem#5 >= divr8u::divisor#1
  divr8u::$8 = ! divr8u::$7
  if(divr8u::$8) goto divr8u::@3
  to:divr8u::@5
divr8u::@4: scope:[divr8u]  from divr8u::@1
  divr8u::i#6 = phi( divr8u::@1/divr8u::i#5 )
  divr8u::divisor#4 = phi( divr8u::@1/divr8u::divisor#3 )
  divr8u::quotient#7 = phi( divr8u::@1/divr8u::quotient#6 )
  divr8u::dividend#6 = phi( divr8u::@1/divr8u::dividend#2 )
  divr8u::rem#6 = phi( divr8u::@1/divr8u::rem#1 )
  divr8u::$4 = divr8u::rem#6 | 1
  divr8u::rem#2 = divr8u::$4
  to:divr8u::@2
divr8u::@3: scope:[divr8u]  from divr8u::@2 divr8u::@5
  divr8u::divisor#6 = phi( divr8u::@2/divr8u::divisor#1, divr8u::@5/divr8u::divisor#2 )
  divr8u::quotient#8 = phi( divr8u::@2/divr8u::quotient#1, divr8u::@5/divr8u::quotient#2 )
  divr8u::dividend#5 = phi( divr8u::@2/divr8u::dividend#1, divr8u::@5/divr8u::dividend#7 )
  divr8u::rem#10 = phi( divr8u::@2/divr8u::rem#5, divr8u::@5/divr8u::rem#3 )
  divr8u::i#2 = phi( divr8u::@2/divr8u::i#3, divr8u::@5/divr8u::i#4 )
  divr8u::i#1 = divr8u::i#2 + rangenext(0,7)
  divr8u::$10 = divr8u::i#1 != rangelast(0,7)
  if(divr8u::$10) goto divr8u::@1
  to:divr8u::@6
divr8u::@5: scope:[divr8u]  from divr8u::@2
  divr8u::dividend#7 = phi( divr8u::@2/divr8u::dividend#1 )
  divr8u::i#4 = phi( divr8u::@2/divr8u::i#3 )
  divr8u::divisor#2 = phi( divr8u::@2/divr8u::divisor#1 )
  divr8u::rem#7 = phi( divr8u::@2/divr8u::rem#5 )
  divr8u::quotient#4 = phi( divr8u::@2/divr8u::quotient#1 )
  divr8u::quotient#2 = ++ divr8u::quotient#4
  divr8u::$9 = divr8u::rem#7 - divr8u::divisor#2
  divr8u::rem#3 = divr8u::$9
  to:divr8u::@3
divr8u::@6: scope:[divr8u]  from divr8u::@3
  divr8u::quotient#5 = phi( divr8u::@3/divr8u::quotient#8 )
  divr8u::rem#8 = phi( divr8u::@3/divr8u::rem#10 )
  rem8u#2 = divr8u::rem#8
  divr8u::return#1 = divr8u::quotient#5
  to:divr8u::@return
divr8u::@return: scope:[divr8u]  from divr8u::@6
  rem8u#18 = phi( divr8u::@6/rem8u#2 )
  divr8u::return#4 = phi( divr8u::@6/divr8u::return#1 )
  divr8u::return#2 = divr8u::return#4
  rem8u#3 = rem8u#18
  return 
  to:@return

unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
divr16u: scope:[divr16u]  from div16u divr16s::@4
  divr16u::divisor#6 = phi( div16u/divr16u::divisor#0, divr16s::@4/divr16u::divisor#1 )
  divr16u::dividend#5 = phi( div16u/divr16u::dividend#1, divr16s::@4/divr16u::dividend#2 )
  divr16u::rem#10 = phi( div16u/divr16u::rem#3, divr16s::@4/divr16u::rem#4 )
  divr16u::quotient#0 = 0
  divr16u::i#0 = 0
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  divr16u::i#5 = phi( divr16u/divr16u::i#0, divr16u::@3/divr16u::i#1 )
  divr16u::divisor#4 = phi( divr16u/divr16u::divisor#6, divr16u::@3/divr16u::divisor#7 )
  divr16u::quotient#6 = phi( divr16u/divr16u::quotient#0, divr16u::@3/divr16u::quotient#8 )
  divr16u::dividend#3 = phi( divr16u/divr16u::dividend#5, divr16u::@3/divr16u::dividend#6 )
  divr16u::rem#5 = phi( divr16u/divr16u::rem#10, divr16u::@3/divr16u::rem#11 )
  divr16u::$0 = divr16u::rem#5 << 1
  divr16u::rem#0 = divr16u::$0
  divr16u::$1 = byte1  divr16u::dividend#3
  divr16u::$2 = divr16u::$1 & $80
  divr16u::$3 = divr16u::$2 != 0
  divr16u::$4 = ! divr16u::$3
  if(divr16u::$4) goto divr16u::@2
  to:divr16u::@4
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  divr16u::i#3 = phi( divr16u::@1/divr16u::i#5, divr16u::@4/divr16u::i#6 )
  divr16u::divisor#2 = phi( divr16u::@1/divr16u::divisor#4, divr16u::@4/divr16u::divisor#5 )
  divr16u::rem#6 = phi( divr16u::@1/divr16u::rem#0, divr16u::@4/divr16u::rem#1 )
  divr16u::quotient#3 = phi( divr16u::@1/divr16u::quotient#6, divr16u::@4/divr16u::quotient#7 )
  divr16u::dividend#4 = phi( divr16u::@1/divr16u::dividend#3, divr16u::@4/divr16u::dividend#7 )
  divr16u::$6 = divr16u::dividend#4 << 1
  divr16u::dividend#0 = divr16u::$6
  divr16u::$7 = divr16u::quotient#3 << 1
  divr16u::quotient#1 = divr16u::$7
  divr16u::$8 = divr16u::rem#6 >= divr16u::divisor#2
  divr16u::$9 = ! divr16u::$8
  if(divr16u::$9) goto divr16u::@3
  to:divr16u::@5
divr16u::@4: scope:[divr16u]  from divr16u::@1
  divr16u::i#6 = phi( divr16u::@1/divr16u::i#5 )
  divr16u::divisor#5 = phi( divr16u::@1/divr16u::divisor#4 )
  divr16u::quotient#7 = phi( divr16u::@1/divr16u::quotient#6 )
  divr16u::dividend#7 = phi( divr16u::@1/divr16u::dividend#3 )
  divr16u::rem#7 = phi( divr16u::@1/divr16u::rem#0 )
  divr16u::$5 = divr16u::rem#7 | 1
  divr16u::rem#1 = divr16u::$5
  to:divr16u::@2
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  divr16u::divisor#7 = phi( divr16u::@2/divr16u::divisor#2, divr16u::@5/divr16u::divisor#3 )
  divr16u::quotient#8 = phi( divr16u::@2/divr16u::quotient#1, divr16u::@5/divr16u::quotient#2 )
  divr16u::dividend#6 = phi( divr16u::@2/divr16u::dividend#0, divr16u::@5/divr16u::dividend#8 )
  divr16u::rem#11 = phi( divr16u::@2/divr16u::rem#6, divr16u::@5/divr16u::rem#2 )
  divr16u::i#2 = phi( divr16u::@2/divr16u::i#3, divr16u::@5/divr16u::i#4 )
  divr16u::i#1 = divr16u::i#2 + rangenext(0,$f)
  divr16u::$11 = divr16u::i#1 != rangelast(0,$f)
  if(divr16u::$11) goto divr16u::@1
  to:divr16u::@6
divr16u::@5: scope:[divr16u]  from divr16u::@2
  divr16u::dividend#8 = phi( divr16u::@2/divr16u::dividend#0 )
  divr16u::i#4 = phi( divr16u::@2/divr16u::i#3 )
  divr16u::divisor#3 = phi( divr16u::@2/divr16u::divisor#2 )
  divr16u::rem#8 = phi( divr16u::@2/divr16u::rem#6 )
  divr16u::quotient#4 = phi( divr16u::@2/divr16u::quotient#1 )
  divr16u::quotient#2 = ++ divr16u::quotient#4
  divr16u::$10 = divr16u::rem#8 - divr16u::divisor#3
  divr16u::rem#2 = divr16u::$10
  to:divr16u::@3
divr16u::@6: scope:[divr16u]  from divr16u::@3
  divr16u::quotient#5 = phi( divr16u::@3/divr16u::quotient#8 )
  divr16u::rem#9 = phi( divr16u::@3/divr16u::rem#11 )
  rem16u#0 = divr16u::rem#9
  divr16u::return#0 = divr16u::quotient#5
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@6
  rem16u#18 = phi( divr16u::@6/rem16u#0 )
  divr16u::return#4 = phi( divr16u::@6/divr16u::return#0 )
  divr16u::return#1 = divr16u::return#4
  rem16u#1 = rem16u#18
  return 
  to:@return

unsigned int div16u(unsigned int dividend , unsigned int divisor)
div16u: scope:[div16u]  from test_16u::@1
  rem16u#37 = phi( test_16u::@1/rem16u#42 )
  div16u::divisor#1 = phi( test_16u::@1/div16u::divisor#0 )
  div16u::dividend#1 = phi( test_16u::@1/div16u::dividend#0 )
  divr16u::dividend#1 = div16u::dividend#1
  divr16u::divisor#0 = div16u::divisor#1
  divr16u::rem#3 = 0
  call divr16u
  divr16u::return#2 = divr16u::return#1
  to:div16u::@1
div16u::@1: scope:[div16u]  from div16u
  rem16u#19 = phi( div16u/rem16u#1 )
  divr16u::return#5 = phi( div16u/divr16u::return#2 )
  div16u::$0 = divr16u::return#5
  rem16u#2 = rem16u#19
  div16u::return#0 = div16u::$0
  to:div16u::@return
div16u::@return: scope:[div16u]  from div16u::@1
  rem16u#20 = phi( div16u::@1/rem16u#2 )
  div16u::return#3 = phi( div16u::@1/div16u::return#0 )
  div16u::return#1 = div16u::return#3
  rem16u#3 = rem16u#20
  return 
  to:@return

signed char div8s(signed char dividend , signed char divisor)
div8s: scope:[div8s]  from test_8s::@1
  rem8u#59 = phi( test_8s::@1/rem8u#41 )
  div8s::divisor#6 = phi( test_8s::@1/div8s::divisor#0 )
  div8s::dividend#1 = phi( test_8s::@1/div8s::dividend#0 )
  div8s::neg#0 = 0
  div8s::dividendu#0 = 0
  div8s::$0 = div8s::dividend#1 < 0
  if(div8s::$0) goto div8s::@1
  to:div8s::@6
div8s::@1: scope:[div8s]  from div8s
  rem8u#55 = phi( div8s/rem8u#59 )
  div8s::divisor#4 = phi( div8s/div8s::divisor#6 )
  div8s::dividend#2 = phi( div8s/div8s::dividend#1 )
  div8s::$4 = - div8s::dividend#2
  div8s::dividendu#1 = (char)div8s::$4
  div8s::neg#1 = 1
  to:div8s::@2
div8s::@6: scope:[div8s]  from div8s
  rem8u#56 = phi( div8s/rem8u#59 )
  div8s::neg#7 = phi( div8s/div8s::neg#0 )
  div8s::divisor#5 = phi( div8s/div8s::divisor#6 )
  div8s::dividend#3 = phi( div8s/div8s::dividend#1 )
  div8s::dividendu#2 = (char)div8s::dividend#3
  to:div8s::@2
div8s::@2: scope:[div8s]  from div8s::@1 div8s::@6
  rem8u#52 = phi( div8s::@1/rem8u#55, div8s::@6/rem8u#56 )
  div8s::dividendu#6 = phi( div8s::@1/div8s::dividendu#1, div8s::@6/div8s::dividendu#2 )
  div8s::neg#5 = phi( div8s::@1/div8s::neg#1, div8s::@6/div8s::neg#7 )
  div8s::divisor#1 = phi( div8s::@1/div8s::divisor#4, div8s::@6/div8s::divisor#5 )
  div8s::divisoru#0 = 0
  div8s::$1 = div8s::divisor#1 < 0
  if(div8s::$1) goto div8s::@3
  to:div8s::@7
div8s::@3: scope:[div8s]  from div8s::@2
  rem8u#44 = phi( div8s::@2/rem8u#52 )
  div8s::dividendu#4 = phi( div8s::@2/div8s::dividendu#6 )
  div8s::neg#3 = phi( div8s::@2/div8s::neg#5 )
  div8s::divisor#2 = phi( div8s::@2/div8s::divisor#1 )
  div8s::$5 = - div8s::divisor#2
  div8s::divisoru#1 = (char)div8s::$5
  div8s::$6 = div8s::neg#3 ^ 1
  div8s::neg#2 = div8s::$6
  to:div8s::@4
div8s::@7: scope:[div8s]  from div8s::@2
  div8s::neg#8 = phi( div8s::@2/div8s::neg#5 )
  rem8u#45 = phi( div8s::@2/rem8u#52 )
  div8s::dividendu#5 = phi( div8s::@2/div8s::dividendu#6 )
  div8s::divisor#3 = phi( div8s::@2/div8s::divisor#1 )
  div8s::divisoru#2 = (char)div8s::divisor#3
  to:div8s::@4
div8s::@4: scope:[div8s]  from div8s::@3 div8s::@7
  div8s::neg#6 = phi( div8s::@3/div8s::neg#2, div8s::@7/div8s::neg#8 )
  rem8u#34 = phi( div8s::@3/rem8u#44, div8s::@7/rem8u#45 )
  div8s::divisoru#3 = phi( div8s::@3/div8s::divisoru#1, div8s::@7/div8s::divisoru#2 )
  div8s::dividendu#3 = phi( div8s::@3/div8s::dividendu#4, div8s::@7/div8s::dividendu#5 )
  div8u::dividend#0 = div8s::dividendu#3
  div8u::divisor#0 = div8s::divisoru#3
  call div8u
  div8u::return#2 = div8u::return#1
  to:div8s::@9
div8s::@9: scope:[div8s]  from div8s::@4
  div8s::neg#4 = phi( div8s::@4/div8s::neg#6 )
  rem8u#19 = phi( div8s::@4/rem8u#1 )
  div8u::return#5 = phi( div8s::@4/div8u::return#2 )
  div8s::resultu#0 = div8u::return#5
  rem8u#4 = rem8u#19
  div8s::$3 = div8s::neg#4 == 0
  if(div8s::$3) goto div8s::@5
  to:div8s::@8
div8s::@5: scope:[div8s]  from div8s::@9
  div8s::resultu#1 = phi( div8s::@9/div8s::resultu#0 )
  rem8u#20 = phi( div8s::@9/rem8u#4 )
  rem8s#0 = (signed char)rem8u#20
  div8s::return#0 = (signed char)div8s::resultu#1
  to:div8s::@return
div8s::@8: scope:[div8s]  from div8s::@9
  div8s::resultu#2 = phi( div8s::@9/div8s::resultu#0 )
  rem8u#21 = phi( div8s::@9/rem8u#4 )
  div8s::$7 = - (signed char)rem8u#21
  rem8s#1 = div8s::$7
  div8s::$8 = - (signed char)div8s::resultu#2
  div8s::return#1 = div8s::$8
  to:div8s::@return
div8s::@return: scope:[div8s]  from div8s::@5 div8s::@8
  rem8s#10 = phi( div8s::@5/rem8s#0, div8s::@8/rem8s#1 )
  rem8u#22 = phi( div8s::@5/rem8u#20, div8s::@8/rem8u#21 )
  div8s::return#4 = phi( div8s::@5/div8s::return#0, div8s::@8/div8s::return#1 )
  div8s::return#2 = div8s::return#4
  rem8u#5 = rem8u#22
  rem8s#2 = rem8s#10
  return 
  to:@return

int divr16s(int dividend , int divisor , int rem)
divr16s: scope:[divr16s]  from div16s
  rem16u#64 = phi( div16s/rem16u#39 )
  divr16s::divisor#6 = phi( div16s/divr16s::divisor#0 )
  divr16s::rem#1 = phi( div16s/divr16s::rem#0 )
  divr16s::dividend#1 = phi( div16s/divr16s::dividend#0 )
  divr16s::neg#0 = 0
  divr16s::dividendu#0 = 0
  divr16s::remu#0 = 0
  divr16s::$0 = divr16s::dividend#1 < 0
  divr16s::$1 = divr16s::rem#1 < 0
  divr16s::$2 = divr16s::$0 || divr16s::$1
  if(divr16s::$2) goto divr16s::@1
  to:divr16s::@6
divr16s::@1: scope:[divr16s]  from divr16s
  rem16u#60 = phi( divr16s/rem16u#64 )
  divr16s::divisor#4 = phi( divr16s/divr16s::divisor#6 )
  divr16s::rem#2 = phi( divr16s/divr16s::rem#1 )
  divr16s::dividend#2 = phi( divr16s/divr16s::dividend#1 )
  divr16s::$6 = - divr16s::dividend#2
  divr16s::dividendu#1 = (unsigned int)divr16s::$6
  divr16s::$7 = - divr16s::rem#2
  divr16s::remu#1 = (unsigned int)divr16s::$7
  divr16s::neg#1 = 1
  to:divr16s::@2
divr16s::@6: scope:[divr16s]  from divr16s
  rem16u#61 = phi( divr16s/rem16u#64 )
  divr16s::neg#7 = phi( divr16s/divr16s::neg#0 )
  divr16s::divisor#5 = phi( divr16s/divr16s::divisor#6 )
  divr16s::rem#3 = phi( divr16s/divr16s::rem#1 )
  divr16s::dividend#3 = phi( divr16s/divr16s::dividend#1 )
  divr16s::dividendu#2 = (unsigned int)divr16s::dividend#3
  divr16s::remu#2 = (unsigned int)divr16s::rem#3
  to:divr16s::@2
divr16s::@2: scope:[divr16s]  from divr16s::@1 divr16s::@6
  rem16u#56 = phi( divr16s::@1/rem16u#60, divr16s::@6/rem16u#61 )
  divr16s::remu#6 = phi( divr16s::@1/divr16s::remu#1, divr16s::@6/divr16s::remu#2 )
  divr16s::dividendu#6 = phi( divr16s::@1/divr16s::dividendu#1, divr16s::@6/divr16s::dividendu#2 )
  divr16s::neg#5 = phi( divr16s::@1/divr16s::neg#1, divr16s::@6/divr16s::neg#7 )
  divr16s::divisor#1 = phi( divr16s::@1/divr16s::divisor#4, divr16s::@6/divr16s::divisor#5 )
  divr16s::divisoru#0 = 0
  divr16s::$3 = divr16s::divisor#1 < 0
  if(divr16s::$3) goto divr16s::@3
  to:divr16s::@7
divr16s::@3: scope:[divr16s]  from divr16s::@2
  rem16u#48 = phi( divr16s::@2/rem16u#56 )
  divr16s::remu#4 = phi( divr16s::@2/divr16s::remu#6 )
  divr16s::dividendu#4 = phi( divr16s::@2/divr16s::dividendu#6 )
  divr16s::neg#3 = phi( divr16s::@2/divr16s::neg#5 )
  divr16s::divisor#2 = phi( divr16s::@2/divr16s::divisor#1 )
  divr16s::$8 = - divr16s::divisor#2
  divr16s::divisoru#1 = (unsigned int)divr16s::$8
  divr16s::$9 = divr16s::neg#3 ^ 1
  divr16s::neg#2 = divr16s::$9
  to:divr16s::@4
divr16s::@7: scope:[divr16s]  from divr16s::@2
  divr16s::neg#8 = phi( divr16s::@2/divr16s::neg#5 )
  rem16u#49 = phi( divr16s::@2/rem16u#56 )
  divr16s::remu#5 = phi( divr16s::@2/divr16s::remu#6 )
  divr16s::dividendu#5 = phi( divr16s::@2/divr16s::dividendu#6 )
  divr16s::divisor#3 = phi( divr16s::@2/divr16s::divisor#1 )
  divr16s::divisoru#2 = (unsigned int)divr16s::divisor#3
  to:divr16s::@4
divr16s::@4: scope:[divr16s]  from divr16s::@3 divr16s::@7
  divr16s::neg#6 = phi( divr16s::@3/divr16s::neg#2, divr16s::@7/divr16s::neg#8 )
  rem16u#38 = phi( divr16s::@3/rem16u#48, divr16s::@7/rem16u#49 )
  divr16s::remu#3 = phi( divr16s::@3/divr16s::remu#4, divr16s::@7/divr16s::remu#5 )
  divr16s::divisoru#3 = phi( divr16s::@3/divr16s::divisoru#1, divr16s::@7/divr16s::divisoru#2 )
  divr16s::dividendu#3 = phi( divr16s::@3/divr16s::dividendu#4, divr16s::@7/divr16s::dividendu#5 )
  divr16u::dividend#2 = divr16s::dividendu#3
  divr16u::divisor#1 = divr16s::divisoru#3
  divr16u::rem#4 = divr16s::remu#3
  call divr16u
  divr16u::return#3 = divr16u::return#1
  to:divr16s::@9
divr16s::@9: scope:[divr16s]  from divr16s::@4
  divr16s::neg#4 = phi( divr16s::@4/divr16s::neg#6 )
  rem16u#21 = phi( divr16s::@4/rem16u#1 )
  divr16u::return#6 = phi( divr16s::@4/divr16u::return#3 )
  divr16s::resultu#0 = divr16u::return#6
  rem16u#4 = rem16u#21
  divr16s::$5 = divr16s::neg#4 == 0
  if(divr16s::$5) goto divr16s::@5
  to:divr16s::@8
divr16s::@5: scope:[divr16s]  from divr16s::@9
  divr16s::resultu#1 = phi( divr16s::@9/divr16s::resultu#0 )
  rem16u#22 = phi( divr16s::@9/rem16u#4 )
  rem16s#0 = (int)rem16u#22
  divr16s::return#0 = (int)divr16s::resultu#1
  to:divr16s::@return
divr16s::@8: scope:[divr16s]  from divr16s::@9
  divr16s::resultu#2 = phi( divr16s::@9/divr16s::resultu#0 )
  rem16u#23 = phi( divr16s::@9/rem16u#4 )
  divr16s::$10 = - (int)rem16u#23
  rem16s#1 = divr16s::$10
  divr16s::$11 = - (int)divr16s::resultu#2
  divr16s::return#1 = divr16s::$11
  to:divr16s::@return
divr16s::@return: scope:[divr16s]  from divr16s::@5 divr16s::@8
  rem16s#12 = phi( divr16s::@5/rem16s#0, divr16s::@8/rem16s#1 )
  rem16u#24 = phi( divr16s::@5/rem16u#22, divr16s::@8/rem16u#23 )
  divr16s::return#4 = phi( divr16s::@5/divr16s::return#0, divr16s::@8/divr16s::return#1 )
  divr16s::return#2 = divr16s::return#4
  rem16u#5 = rem16u#24
  rem16s#2 = rem16s#12
  return 
  to:@return

int div16s(int dividend , int divisor)
div16s: scope:[div16s]  from test_16s::@1
  rem16s#22 = phi( test_16s::@1/rem16s#24 )
  rem16u#39 = phi( test_16s::@1/rem16u#45 )
  div16s::divisor#1 = phi( test_16s::@1/div16s::divisor#0 )
  div16s::dividend#1 = phi( test_16s::@1/div16s::dividend#0 )
  divr16s::dividend#0 = div16s::dividend#1
  divr16s::divisor#0 = div16s::divisor#1
  divr16s::rem#0 = 0
  call divr16s
  divr16s::return#3 = divr16s::return#2
  to:div16s::@1
div16s::@1: scope:[div16s]  from div16s
  rem16s#13 = phi( div16s/rem16s#2 )
  rem16u#25 = phi( div16s/rem16u#5 )
  divr16s::return#5 = phi( div16s/divr16s::return#3 )
  div16s::$0 = divr16s::return#5
  rem16u#6 = rem16u#25
  rem16s#3 = rem16s#13
  div16s::return#0 = div16s::$0
  to:div16s::@return
div16s::@return: scope:[div16s]  from div16s::@1
  rem16s#14 = phi( div16s::@1/rem16s#3 )
  rem16u#26 = phi( div16s::@1/rem16u#6 )
  div16s::return#3 = phi( div16s::@1/div16s::return#0 )
  div16s::return#1 = div16s::return#3
  rem16u#7 = rem16u#26
  rem16s#4 = rem16s#14
  return 
  to:@return

void main()
main: scope:[main]  from __start::@1
  rem16s#36 = phi( __start::@1/rem16s#27 )
  rem8s#30 = phi( __start::@1/rem8s#23 )
  rem16u#57 = phi( __start::@1/rem16u#47 )
  rem8u#46 = phi( __start::@1/rem8u#43 )
  print_char_cursor#143 = phi( __start::@1/print_char_cursor#148 )
  print_line_cursor#42 = phi( __start::@1/print_line_cursor#47 )
  print_screen#5 = phi( __start::@1/print_screen#7 )
  call print_cls
  to:main::@1
main::@1: scope:[main]  from main
  rem16s#34 = phi( main/rem16s#36 )
  rem8s#28 = phi( main/rem8s#30 )
  rem16u#50 = phi( main/rem16u#57 )
  rem8u#35 = phi( main/rem8u#46 )
  print_char_cursor#88 = phi( main/print_char_cursor#21 )
  print_line_cursor#25 = phi( main/print_line_cursor#3 )
  print_line_cursor#4 = print_line_cursor#25
  print_char_cursor#22 = print_char_cursor#88
  call test_8u
  to:main::@2
main::@2: scope:[main]  from main::@1
  rem16s#32 = phi( main::@1/rem16s#34 )
  rem8s#24 = phi( main::@1/rem8s#28 )
  rem16u#40 = phi( main::@1/rem16u#50 )
  print_line_cursor#26 = phi( main::@1/print_line_cursor#11 )
  print_char_cursor#89 = phi( main::@1/print_char_cursor#36 )
  rem8u#23 = phi( main::@1/rem8u#10 )
  rem8u#6 = rem8u#23
  print_char_cursor#23 = print_char_cursor#89
  print_line_cursor#5 = print_line_cursor#26
  call test_16u
  to:main::@3
main::@3: scope:[main]  from main::@2
  rem16s#28 = phi( main::@2/rem16s#32 )
  rem8s#18 = phi( main::@2/rem8s#24 )
  rem8u#36 = phi( main::@2/rem8u#6 )
  print_line_cursor#27 = phi( main::@2/print_line_cursor#13 )
  print_char_cursor#90 = phi( main::@2/print_char_cursor#45 )
  rem16u#27 = phi( main::@2/rem16u#12 )
  rem16u#8 = rem16u#27
  print_char_cursor#24 = print_char_cursor#90
  print_line_cursor#6 = print_line_cursor#27
  call test_8s
  to:main::@4
main::@4: scope:[main]  from main::@3
  rem16s#23 = phi( main::@3/rem16s#28 )
  rem16u#41 = phi( main::@3/rem16u#8 )
  print_line_cursor#28 = phi( main::@3/print_line_cursor#15 )
  print_char_cursor#91 = phi( main::@3/print_char_cursor#54 )
  rem8s#11 = phi( main::@3/rem8s#6 )
  rem8u#24 = phi( main::@3/rem8u#12 )
  rem8u#7 = rem8u#24
  rem8s#3 = rem8s#11
  print_char_cursor#25 = print_char_cursor#91
  print_line_cursor#7 = print_line_cursor#28
  call test_16s
  to:main::@5
main::@5: scope:[main]  from main::@4
  rem8s#19 = phi( main::@4/rem8s#3 )
  rem8u#37 = phi( main::@4/rem8u#7 )
  print_line_cursor#29 = phi( main::@4/print_line_cursor#17 )
  print_char_cursor#92 = phi( main::@4/print_char_cursor#63 )
  rem16s#15 = phi( main::@4/rem16s#8 )
  rem16u#28 = phi( main::@4/rem16u#14 )
  rem16u#9 = rem16u#28
  rem16s#5 = rem16s#15
  print_char_cursor#26 = print_char_cursor#92
  print_line_cursor#8 = print_line_cursor#29
  to:main::@return
main::@return: scope:[main]  from main::@5
  rem16s#16 = phi( main::@5/rem16s#5 )
  rem8s#12 = phi( main::@5/rem8s#19 )
  rem16u#29 = phi( main::@5/rem16u#9 )
  rem8u#25 = phi( main::@5/rem8u#37 )
  print_char_cursor#93 = phi( main::@5/print_char_cursor#26 )
  print_line_cursor#30 = phi( main::@5/print_line_cursor#8 )
  print_line_cursor#9 = print_line_cursor#30
  print_char_cursor#27 = print_char_cursor#93
  rem8u#8 = rem8u#25
  rem16u#10 = rem16u#29
  rem8s#4 = rem8s#12
  rem16s#6 = rem16s#16
  return 
  to:@return

void test_8u()
test_8u: scope:[test_8u]  from main::@1
  print_line_cursor#80 = phi( main::@1/print_line_cursor#4 )
  print_char_cursor#156 = phi( main::@1/print_char_cursor#22 )
  rem8u#47 = phi( main::@1/rem8u#35 )
  test_8u::i#0 = 0
  to:test_8u::@1
test_8u::@1: scope:[test_8u]  from test_8u test_8u::@10
  print_line_cursor#76 = phi( test_8u/print_line_cursor#80, test_8u::@10/print_line_cursor#10 )
  print_char_cursor#152 = phi( test_8u/print_char_cursor#156, test_8u::@10/print_char_cursor#35 )
  rem8u#38 = phi( test_8u/rem8u#47, test_8u::@10/rem8u#40 )
  test_8u::i#2 = phi( test_8u/test_8u::i#0, test_8u::@10/test_8u::i#1 )
  test_8u::dividend#0 = test_8u::dividends[test_8u::i#2]
  test_8u::divisor#0 = test_8u::divisors[test_8u::i#2]
  div8u::dividend#1 = test_8u::dividend#0
  div8u::divisor#1 = test_8u::divisor#0
  call div8u
  div8u::return#3 = div8u::return#1
  to:test_8u::@2
test_8u::@2: scope:[test_8u]  from test_8u::@1
  test_8u::i#11 = phi( test_8u::@1/test_8u::i#2 )
  print_line_cursor#72 = phi( test_8u::@1/print_line_cursor#76 )
  test_8u::divisor#3 = phi( test_8u::@1/test_8u::divisor#0 )
  print_char_cursor#144 = phi( test_8u::@1/print_char_cursor#152 )
  test_8u::dividend#1 = phi( test_8u::@1/test_8u::dividend#0 )
  rem8u#26 = phi( test_8u::@1/rem8u#1 )
  div8u::return#6 = phi( test_8u::@1/div8u::return#3 )
  test_8u::res#0 = div8u::return#6
  rem8u#9 = rem8u#26
  print_uchar::b#3 = test_8u::dividend#1
  call print_uchar
  to:test_8u::@3
test_8u::@3: scope:[test_8u]  from test_8u::@2
  test_8u::i#10 = phi( test_8u::@2/test_8u::i#11 )
  print_line_cursor#68 = phi( test_8u::@2/print_line_cursor#72 )
  rem8u#60 = phi( test_8u::@2/rem8u#9 )
  test_8u::res#4 = phi( test_8u::@2/test_8u::res#0 )
  test_8u::divisor#2 = phi( test_8u::@2/test_8u::divisor#3 )
  print_char_cursor#94 = phi( test_8u::@2/print_char_cursor#17 )
  print_char_cursor#28 = print_char_cursor#94
  print_str::str#1 = test_8u::str
  call print_str
  to:test_8u::@4
test_8u::@4: scope:[test_8u]  from test_8u::@3
  test_8u::i#9 = phi( test_8u::@3/test_8u::i#10 )
  print_line_cursor#64 = phi( test_8u::@3/print_line_cursor#68 )
  rem8u#57 = phi( test_8u::@3/rem8u#60 )
  test_8u::res#3 = phi( test_8u::@3/test_8u::res#4 )
  test_8u::divisor#1 = phi( test_8u::@3/test_8u::divisor#2 )
  print_char_cursor#95 = phi( test_8u::@3/print_char_cursor#1 )
  print_char_cursor#29 = print_char_cursor#95
  print_uchar::b#4 = test_8u::divisor#1
  call print_uchar
  to:test_8u::@5
test_8u::@5: scope:[test_8u]  from test_8u::@4
  test_8u::i#8 = phi( test_8u::@4/test_8u::i#9 )
  print_line_cursor#60 = phi( test_8u::@4/print_line_cursor#64 )
  rem8u#53 = phi( test_8u::@4/rem8u#57 )
  test_8u::res#2 = phi( test_8u::@4/test_8u::res#3 )
  print_char_cursor#96 = phi( test_8u::@4/print_char_cursor#17 )
  print_char_cursor#30 = print_char_cursor#96
  print_str::str#2 = test_8u::str1
  call print_str
  to:test_8u::@6
test_8u::@6: scope:[test_8u]  from test_8u::@5
  test_8u::i#7 = phi( test_8u::@5/test_8u::i#8 )
  print_line_cursor#56 = phi( test_8u::@5/print_line_cursor#60 )
  rem8u#48 = phi( test_8u::@5/rem8u#53 )
  test_8u::res#1 = phi( test_8u::@5/test_8u::res#2 )
  print_char_cursor#97 = phi( test_8u::@5/print_char_cursor#1 )
  print_char_cursor#31 = print_char_cursor#97
  print_uchar::b#5 = test_8u::res#1
  call print_uchar
  to:test_8u::@7
test_8u::@7: scope:[test_8u]  from test_8u::@6
  test_8u::i#6 = phi( test_8u::@6/test_8u::i#7 )
  print_line_cursor#52 = phi( test_8u::@6/print_line_cursor#56 )
  rem8u#39 = phi( test_8u::@6/rem8u#48 )
  print_char_cursor#98 = phi( test_8u::@6/print_char_cursor#17 )
  print_char_cursor#32 = print_char_cursor#98
  print_str::str#3 = test_8u::str2
  call print_str
  to:test_8u::@8
test_8u::@8: scope:[test_8u]  from test_8u::@7
  test_8u::i#5 = phi( test_8u::@7/test_8u::i#6 )
  print_line_cursor#48 = phi( test_8u::@7/print_line_cursor#52 )
  rem8u#27 = phi( test_8u::@7/rem8u#39 )
  print_char_cursor#99 = phi( test_8u::@7/print_char_cursor#1 )
  print_char_cursor#33 = print_char_cursor#99
  print_uchar::b#6 = rem8u#27
  call print_uchar
  to:test_8u::@9
test_8u::@9: scope:[test_8u]  from test_8u::@8
  rem8u#49 = phi( test_8u::@8/rem8u#27 )
  test_8u::i#4 = phi( test_8u::@8/test_8u::i#5 )
  print_line_cursor#43 = phi( test_8u::@8/print_line_cursor#48 )
  print_char_cursor#100 = phi( test_8u::@8/print_char_cursor#17 )
  print_char_cursor#34 = print_char_cursor#100
  call print_ln
  to:test_8u::@10
test_8u::@10: scope:[test_8u]  from test_8u::@9
  rem8u#40 = phi( test_8u::@9/rem8u#49 )
  test_8u::i#3 = phi( test_8u::@9/test_8u::i#4 )
  print_char_cursor#101 = phi( test_8u::@9/print_char_cursor#3 )
  print_line_cursor#31 = phi( test_8u::@9/print_line_cursor#1 )
  print_line_cursor#10 = print_line_cursor#31
  print_char_cursor#35 = print_char_cursor#101
  test_8u::i#1 = test_8u::i#3 + rangenext(0,5)
  test_8u::$9 = test_8u::i#1 != rangelast(0,5)
  if(test_8u::$9) goto test_8u::@1
  to:test_8u::@return
test_8u::@return: scope:[test_8u]  from test_8u::@10
  print_line_cursor#32 = phi( test_8u::@10/print_line_cursor#10 )
  print_char_cursor#102 = phi( test_8u::@10/print_char_cursor#35 )
  rem8u#28 = phi( test_8u::@10/rem8u#40 )
  rem8u#10 = rem8u#28
  print_char_cursor#36 = print_char_cursor#102
  print_line_cursor#11 = print_line_cursor#32
  return 
  to:@return

void test_16u()
test_16u: scope:[test_16u]  from main::@2
  print_line_cursor#81 = phi( main::@2/print_line_cursor#5 )
  print_char_cursor#157 = phi( main::@2/print_char_cursor#23 )
  rem16u#51 = phi( main::@2/rem16u#40 )
  test_16u::i#0 = 0
  to:test_16u::@1
test_16u::@1: scope:[test_16u]  from test_16u test_16u::@10
  print_line_cursor#77 = phi( test_16u/print_line_cursor#81, test_16u::@10/print_line_cursor#12 )
  print_char_cursor#153 = phi( test_16u/print_char_cursor#157, test_16u::@10/print_char_cursor#44 )
  rem16u#42 = phi( test_16u/rem16u#51, test_16u::@10/rem16u#44 )
  test_16u::i#2 = phi( test_16u/test_16u::i#0, test_16u::@10/test_16u::i#1 )
  test_16u::$10 = test_16u::i#2 * SIZEOF_UNSIGNED_INT
  test_16u::dividend#0 = test_16u::dividends[test_16u::$10]
  test_16u::$11 = test_16u::i#2 * SIZEOF_UNSIGNED_INT
  test_16u::divisor#0 = test_16u::divisors[test_16u::$11]
  div16u::dividend#0 = test_16u::dividend#0
  div16u::divisor#0 = test_16u::divisor#0
  call div16u
  div16u::return#2 = div16u::return#1
  to:test_16u::@2
test_16u::@2: scope:[test_16u]  from test_16u::@1
  test_16u::i#11 = phi( test_16u::@1/test_16u::i#2 )
  print_line_cursor#73 = phi( test_16u::@1/print_line_cursor#77 )
  test_16u::divisor#3 = phi( test_16u::@1/test_16u::divisor#0 )
  print_char_cursor#145 = phi( test_16u::@1/print_char_cursor#153 )
  test_16u::dividend#1 = phi( test_16u::@1/test_16u::dividend#0 )
  rem16u#30 = phi( test_16u::@1/rem16u#3 )
  div16u::return#4 = phi( test_16u::@1/div16u::return#2 )
  test_16u::res#0 = div16u::return#4
  rem16u#11 = rem16u#30
  print_uint::w#1 = test_16u::dividend#1
  call print_uint
  to:test_16u::@3
test_16u::@3: scope:[test_16u]  from test_16u::@2
  test_16u::i#10 = phi( test_16u::@2/test_16u::i#11 )
  print_line_cursor#69 = phi( test_16u::@2/print_line_cursor#73 )
  rem16u#65 = phi( test_16u::@2/rem16u#11 )
  test_16u::res#4 = phi( test_16u::@2/test_16u::res#0 )
  test_16u::divisor#2 = phi( test_16u::@2/test_16u::divisor#3 )
  print_char_cursor#103 = phi( test_16u::@2/print_char_cursor#14 )
  print_char_cursor#37 = print_char_cursor#103
  print_str::str#4 = test_16u::str
  call print_str
  to:test_16u::@4
test_16u::@4: scope:[test_16u]  from test_16u::@3
  test_16u::i#9 = phi( test_16u::@3/test_16u::i#10 )
  print_line_cursor#65 = phi( test_16u::@3/print_line_cursor#69 )
  rem16u#62 = phi( test_16u::@3/rem16u#65 )
  test_16u::res#3 = phi( test_16u::@3/test_16u::res#4 )
  test_16u::divisor#1 = phi( test_16u::@3/test_16u::divisor#2 )
  print_char_cursor#104 = phi( test_16u::@3/print_char_cursor#1 )
  print_char_cursor#38 = print_char_cursor#104
  print_uint::w#2 = test_16u::divisor#1
  call print_uint
  to:test_16u::@5
test_16u::@5: scope:[test_16u]  from test_16u::@4
  test_16u::i#8 = phi( test_16u::@4/test_16u::i#9 )
  print_line_cursor#61 = phi( test_16u::@4/print_line_cursor#65 )
  rem16u#58 = phi( test_16u::@4/rem16u#62 )
  test_16u::res#2 = phi( test_16u::@4/test_16u::res#3 )
  print_char_cursor#105 = phi( test_16u::@4/print_char_cursor#14 )
  print_char_cursor#39 = print_char_cursor#105
  print_str::str#5 = test_16u::str1
  call print_str
  to:test_16u::@6
test_16u::@6: scope:[test_16u]  from test_16u::@5
  test_16u::i#7 = phi( test_16u::@5/test_16u::i#8 )
  print_line_cursor#57 = phi( test_16u::@5/print_line_cursor#61 )
  rem16u#52 = phi( test_16u::@5/rem16u#58 )
  test_16u::res#1 = phi( test_16u::@5/test_16u::res#2 )
  print_char_cursor#106 = phi( test_16u::@5/print_char_cursor#1 )
  print_char_cursor#40 = print_char_cursor#106
  print_uint::w#3 = test_16u::res#1
  call print_uint
  to:test_16u::@7
test_16u::@7: scope:[test_16u]  from test_16u::@6
  test_16u::i#6 = phi( test_16u::@6/test_16u::i#7 )
  print_line_cursor#53 = phi( test_16u::@6/print_line_cursor#57 )
  rem16u#43 = phi( test_16u::@6/rem16u#52 )
  print_char_cursor#107 = phi( test_16u::@6/print_char_cursor#14 )
  print_char_cursor#41 = print_char_cursor#107
  print_str::str#6 = test_16u::str2
  call print_str
  to:test_16u::@8
test_16u::@8: scope:[test_16u]  from test_16u::@7
  test_16u::i#5 = phi( test_16u::@7/test_16u::i#6 )
  print_line_cursor#49 = phi( test_16u::@7/print_line_cursor#53 )
  rem16u#31 = phi( test_16u::@7/rem16u#43 )
  print_char_cursor#108 = phi( test_16u::@7/print_char_cursor#1 )
  print_char_cursor#42 = print_char_cursor#108
  print_uint::w#4 = rem16u#31
  call print_uint
  to:test_16u::@9
test_16u::@9: scope:[test_16u]  from test_16u::@8
  rem16u#53 = phi( test_16u::@8/rem16u#31 )
  test_16u::i#4 = phi( test_16u::@8/test_16u::i#5 )
  print_line_cursor#44 = phi( test_16u::@8/print_line_cursor#49 )
  print_char_cursor#109 = phi( test_16u::@8/print_char_cursor#14 )
  print_char_cursor#43 = print_char_cursor#109
  call print_ln
  to:test_16u::@10
test_16u::@10: scope:[test_16u]  from test_16u::@9
  rem16u#44 = phi( test_16u::@9/rem16u#53 )
  test_16u::i#3 = phi( test_16u::@9/test_16u::i#4 )
  print_char_cursor#110 = phi( test_16u::@9/print_char_cursor#3 )
  print_line_cursor#33 = phi( test_16u::@9/print_line_cursor#1 )
  print_line_cursor#12 = print_line_cursor#33
  print_char_cursor#44 = print_char_cursor#110
  test_16u::i#1 = test_16u::i#3 + rangenext(0,5)
  test_16u::$9 = test_16u::i#1 != rangelast(0,5)
  if(test_16u::$9) goto test_16u::@1
  to:test_16u::@return
test_16u::@return: scope:[test_16u]  from test_16u::@10
  print_line_cursor#34 = phi( test_16u::@10/print_line_cursor#12 )
  print_char_cursor#111 = phi( test_16u::@10/print_char_cursor#44 )
  rem16u#32 = phi( test_16u::@10/rem16u#44 )
  rem16u#12 = rem16u#32
  print_char_cursor#45 = print_char_cursor#111
  print_line_cursor#13 = print_line_cursor#34
  return 
  to:@return

void test_8s()
test_8s: scope:[test_8s]  from main::@3
  print_line_cursor#82 = phi( main::@3/print_line_cursor#6 )
  print_char_cursor#158 = phi( main::@3/print_char_cursor#24 )
  rem8s#25 = phi( main::@3/rem8s#18 )
  rem8u#50 = phi( main::@3/rem8u#36 )
  test_8s::i#0 = 0
  to:test_8s::@1
test_8s::@1: scope:[test_8s]  from test_8s test_8s::@10
  print_line_cursor#78 = phi( test_8s/print_line_cursor#82, test_8s::@10/print_line_cursor#14 )
  print_char_cursor#154 = phi( test_8s/print_char_cursor#158, test_8s::@10/print_char_cursor#53 )
  rem8s#20 = phi( test_8s/rem8s#25, test_8s::@10/rem8s#22 )
  rem8u#41 = phi( test_8s/rem8u#50, test_8s::@10/rem8u#42 )
  test_8s::i#2 = phi( test_8s/test_8s::i#0, test_8s::@10/test_8s::i#1 )
  test_8s::dividend#0 = test_8s::dividends[test_8s::i#2]
  test_8s::divisor#0 = test_8s::divisors[test_8s::i#2]
  div8s::dividend#0 = test_8s::dividend#0
  div8s::divisor#0 = test_8s::divisor#0
  call div8s
  div8s::return#3 = div8s::return#2
  to:test_8s::@2
test_8s::@2: scope:[test_8s]  from test_8s::@1
  test_8s::i#11 = phi( test_8s::@1/test_8s::i#2 )
  print_line_cursor#74 = phi( test_8s::@1/print_line_cursor#78 )
  test_8s::divisor#3 = phi( test_8s::@1/test_8s::divisor#0 )
  print_char_cursor#146 = phi( test_8s::@1/print_char_cursor#154 )
  test_8s::dividend#1 = phi( test_8s::@1/test_8s::dividend#0 )
  rem8s#13 = phi( test_8s::@1/rem8s#2 )
  rem8u#29 = phi( test_8s::@1/rem8u#5 )
  div8s::return#5 = phi( test_8s::@1/div8s::return#3 )
  test_8s::res#0 = div8s::return#5
  rem8u#11 = rem8u#29
  rem8s#5 = rem8s#13
  print_schar::b#1 = test_8s::dividend#1
  call print_schar
  to:test_8s::@3
test_8s::@3: scope:[test_8s]  from test_8s::@2
  rem8u#64 = phi( test_8s::@2/rem8u#11 )
  test_8s::i#10 = phi( test_8s::@2/test_8s::i#11 )
  print_line_cursor#70 = phi( test_8s::@2/print_line_cursor#74 )
  rem8s#32 = phi( test_8s::@2/rem8s#5 )
  test_8s::res#4 = phi( test_8s::@2/test_8s::res#0 )
  test_8s::divisor#2 = phi( test_8s::@2/test_8s::divisor#3 )
  print_char_cursor#112 = phi( test_8s::@2/print_char_cursor#11 )
  print_char_cursor#46 = print_char_cursor#112
  print_str::str#7 = test_8s::str
  call print_str
  to:test_8s::@4
test_8s::@4: scope:[test_8s]  from test_8s::@3
  rem8u#63 = phi( test_8s::@3/rem8u#64 )
  test_8s::i#9 = phi( test_8s::@3/test_8s::i#10 )
  print_line_cursor#66 = phi( test_8s::@3/print_line_cursor#70 )
  rem8s#31 = phi( test_8s::@3/rem8s#32 )
  test_8s::res#3 = phi( test_8s::@3/test_8s::res#4 )
  test_8s::divisor#1 = phi( test_8s::@3/test_8s::divisor#2 )
  print_char_cursor#113 = phi( test_8s::@3/print_char_cursor#1 )
  print_char_cursor#47 = print_char_cursor#113
  print_schar::b#2 = test_8s::divisor#1
  call print_schar
  to:test_8s::@5
test_8s::@5: scope:[test_8s]  from test_8s::@4
  rem8u#62 = phi( test_8s::@4/rem8u#63 )
  test_8s::i#8 = phi( test_8s::@4/test_8s::i#9 )
  print_line_cursor#62 = phi( test_8s::@4/print_line_cursor#66 )
  rem8s#29 = phi( test_8s::@4/rem8s#31 )
  test_8s::res#2 = phi( test_8s::@4/test_8s::res#3 )
  print_char_cursor#114 = phi( test_8s::@4/print_char_cursor#11 )
  print_char_cursor#48 = print_char_cursor#114
  print_str::str#8 = test_8s::str1
  call print_str
  to:test_8s::@6
test_8s::@6: scope:[test_8s]  from test_8s::@5
  rem8u#61 = phi( test_8s::@5/rem8u#62 )
  test_8s::i#7 = phi( test_8s::@5/test_8s::i#8 )
  print_line_cursor#58 = phi( test_8s::@5/print_line_cursor#62 )
  rem8s#26 = phi( test_8s::@5/rem8s#29 )
  test_8s::res#1 = phi( test_8s::@5/test_8s::res#2 )
  print_char_cursor#115 = phi( test_8s::@5/print_char_cursor#1 )
  print_char_cursor#49 = print_char_cursor#115
  print_schar::b#3 = test_8s::res#1
  call print_schar
  to:test_8s::@7
test_8s::@7: scope:[test_8s]  from test_8s::@6
  rem8u#58 = phi( test_8s::@6/rem8u#61 )
  test_8s::i#6 = phi( test_8s::@6/test_8s::i#7 )
  print_line_cursor#54 = phi( test_8s::@6/print_line_cursor#58 )
  rem8s#21 = phi( test_8s::@6/rem8s#26 )
  print_char_cursor#116 = phi( test_8s::@6/print_char_cursor#11 )
  print_char_cursor#50 = print_char_cursor#116
  print_str::str#9 = test_8s::str2
  call print_str
  to:test_8s::@8
test_8s::@8: scope:[test_8s]  from test_8s::@7
  rem8u#54 = phi( test_8s::@7/rem8u#58 )
  test_8s::i#5 = phi( test_8s::@7/test_8s::i#6 )
  print_line_cursor#50 = phi( test_8s::@7/print_line_cursor#54 )
  rem8s#14 = phi( test_8s::@7/rem8s#21 )
  print_char_cursor#117 = phi( test_8s::@7/print_char_cursor#1 )
  print_char_cursor#51 = print_char_cursor#117
  print_schar::b#4 = rem8s#14
  call print_schar
  to:test_8s::@9
test_8s::@9: scope:[test_8s]  from test_8s::@8
  rem8s#27 = phi( test_8s::@8/rem8s#14 )
  rem8u#51 = phi( test_8s::@8/rem8u#54 )
  test_8s::i#4 = phi( test_8s::@8/test_8s::i#5 )
  print_line_cursor#45 = phi( test_8s::@8/print_line_cursor#50 )
  print_char_cursor#118 = phi( test_8s::@8/print_char_cursor#11 )
  print_char_cursor#52 = print_char_cursor#118
  call print_ln
  to:test_8s::@10
test_8s::@10: scope:[test_8s]  from test_8s::@9
  rem8s#22 = phi( test_8s::@9/rem8s#27 )
  rem8u#42 = phi( test_8s::@9/rem8u#51 )
  test_8s::i#3 = phi( test_8s::@9/test_8s::i#4 )
  print_char_cursor#119 = phi( test_8s::@9/print_char_cursor#3 )
  print_line_cursor#35 = phi( test_8s::@9/print_line_cursor#1 )
  print_line_cursor#14 = print_line_cursor#35
  print_char_cursor#53 = print_char_cursor#119
  test_8s::i#1 = test_8s::i#3 + rangenext(0,5)
  test_8s::$9 = test_8s::i#1 != rangelast(0,5)
  if(test_8s::$9) goto test_8s::@1
  to:test_8s::@return
test_8s::@return: scope:[test_8s]  from test_8s::@10
  print_line_cursor#36 = phi( test_8s::@10/print_line_cursor#14 )
  print_char_cursor#120 = phi( test_8s::@10/print_char_cursor#53 )
  rem8s#15 = phi( test_8s::@10/rem8s#22 )
  rem8u#30 = phi( test_8s::@10/rem8u#42 )
  rem8u#12 = rem8u#30
  rem8s#6 = rem8s#15
  print_char_cursor#54 = print_char_cursor#120
  print_line_cursor#15 = print_line_cursor#36
  return 
  to:@return

void test_16s()
test_16s: scope:[test_16s]  from main::@4
  print_line_cursor#83 = phi( main::@4/print_line_cursor#7 )
  print_char_cursor#159 = phi( main::@4/print_char_cursor#25 )
  rem16s#29 = phi( main::@4/rem16s#23 )
  rem16u#54 = phi( main::@4/rem16u#41 )
  test_16s::i#0 = 0
  to:test_16s::@1
test_16s::@1: scope:[test_16s]  from test_16s test_16s::@10
  print_line_cursor#79 = phi( test_16s/print_line_cursor#83, test_16s::@10/print_line_cursor#16 )
  print_char_cursor#155 = phi( test_16s/print_char_cursor#159, test_16s::@10/print_char_cursor#62 )
  rem16s#24 = phi( test_16s/rem16s#29, test_16s::@10/rem16s#26 )
  rem16u#45 = phi( test_16s/rem16u#54, test_16s::@10/rem16u#46 )
  test_16s::i#2 = phi( test_16s/test_16s::i#0, test_16s::@10/test_16s::i#1 )
  test_16s::$10 = test_16s::i#2 * SIZEOF_INT
  test_16s::dividend#0 = test_16s::dividends[test_16s::$10]
  test_16s::$11 = test_16s::i#2 * SIZEOF_INT
  test_16s::divisor#0 = test_16s::divisors[test_16s::$11]
  div16s::dividend#0 = test_16s::dividend#0
  div16s::divisor#0 = test_16s::divisor#0
  call div16s
  div16s::return#2 = div16s::return#1
  to:test_16s::@2
test_16s::@2: scope:[test_16s]  from test_16s::@1
  test_16s::i#11 = phi( test_16s::@1/test_16s::i#2 )
  print_line_cursor#75 = phi( test_16s::@1/print_line_cursor#79 )
  test_16s::divisor#3 = phi( test_16s::@1/test_16s::divisor#0 )
  print_char_cursor#147 = phi( test_16s::@1/print_char_cursor#155 )
  test_16s::dividend#1 = phi( test_16s::@1/test_16s::dividend#0 )
  rem16s#17 = phi( test_16s::@1/rem16s#4 )
  rem16u#33 = phi( test_16s::@1/rem16u#7 )
  div16s::return#4 = phi( test_16s::@1/div16s::return#2 )
  test_16s::res#0 = div16s::return#4
  rem16u#13 = rem16u#33
  rem16s#7 = rem16s#17
  print_sint::w#1 = test_16s::dividend#1
  call print_sint
  to:test_16s::@3
test_16s::@3: scope:[test_16s]  from test_16s::@2
  rem16u#69 = phi( test_16s::@2/rem16u#13 )
  test_16s::i#10 = phi( test_16s::@2/test_16s::i#11 )
  print_line_cursor#71 = phi( test_16s::@2/print_line_cursor#75 )
  rem16s#37 = phi( test_16s::@2/rem16s#7 )
  test_16s::res#4 = phi( test_16s::@2/test_16s::res#0 )
  test_16s::divisor#2 = phi( test_16s::@2/test_16s::divisor#3 )
  print_char_cursor#121 = phi( test_16s::@2/print_char_cursor#7 )
  print_char_cursor#55 = print_char_cursor#121
  print_str::str#10 = test_16s::str
  call print_str
  to:test_16s::@4
test_16s::@4: scope:[test_16s]  from test_16s::@3
  rem16u#68 = phi( test_16s::@3/rem16u#69 )
  test_16s::i#9 = phi( test_16s::@3/test_16s::i#10 )
  print_line_cursor#67 = phi( test_16s::@3/print_line_cursor#71 )
  rem16s#35 = phi( test_16s::@3/rem16s#37 )
  test_16s::res#3 = phi( test_16s::@3/test_16s::res#4 )
  test_16s::divisor#1 = phi( test_16s::@3/test_16s::divisor#2 )
  print_char_cursor#122 = phi( test_16s::@3/print_char_cursor#1 )
  print_char_cursor#56 = print_char_cursor#122
  print_sint::w#2 = test_16s::divisor#1
  call print_sint
  to:test_16s::@5
test_16s::@5: scope:[test_16s]  from test_16s::@4
  rem16u#67 = phi( test_16s::@4/rem16u#68 )
  test_16s::i#8 = phi( test_16s::@4/test_16s::i#9 )
  print_line_cursor#63 = phi( test_16s::@4/print_line_cursor#67 )
  rem16s#33 = phi( test_16s::@4/rem16s#35 )
  test_16s::res#2 = phi( test_16s::@4/test_16s::res#3 )
  print_char_cursor#123 = phi( test_16s::@4/print_char_cursor#7 )
  print_char_cursor#57 = print_char_cursor#123
  print_str::str#11 = test_16s::str1
  call print_str
  to:test_16s::@6
test_16s::@6: scope:[test_16s]  from test_16s::@5
  rem16u#66 = phi( test_16s::@5/rem16u#67 )
  test_16s::i#7 = phi( test_16s::@5/test_16s::i#8 )
  print_line_cursor#59 = phi( test_16s::@5/print_line_cursor#63 )
  rem16s#30 = phi( test_16s::@5/rem16s#33 )
  test_16s::res#1 = phi( test_16s::@5/test_16s::res#2 )
  print_char_cursor#124 = phi( test_16s::@5/print_char_cursor#1 )
  print_char_cursor#58 = print_char_cursor#124
  print_sint::w#3 = test_16s::res#1
  call print_sint
  to:test_16s::@7
test_16s::@7: scope:[test_16s]  from test_16s::@6
  rem16u#63 = phi( test_16s::@6/rem16u#66 )
  test_16s::i#6 = phi( test_16s::@6/test_16s::i#7 )
  print_line_cursor#55 = phi( test_16s::@6/print_line_cursor#59 )
  rem16s#25 = phi( test_16s::@6/rem16s#30 )
  print_char_cursor#125 = phi( test_16s::@6/print_char_cursor#7 )
  print_char_cursor#59 = print_char_cursor#125
  print_str::str#12 = test_16s::str2
  call print_str
  to:test_16s::@8
test_16s::@8: scope:[test_16s]  from test_16s::@7
  rem16u#59 = phi( test_16s::@7/rem16u#63 )
  test_16s::i#5 = phi( test_16s::@7/test_16s::i#6 )
  print_line_cursor#51 = phi( test_16s::@7/print_line_cursor#55 )
  rem16s#18 = phi( test_16s::@7/rem16s#25 )
  print_char_cursor#126 = phi( test_16s::@7/print_char_cursor#1 )
  print_char_cursor#60 = print_char_cursor#126
  print_sint::w#4 = rem16s#18
  call print_sint
  to:test_16s::@9
test_16s::@9: scope:[test_16s]  from test_16s::@8
  rem16s#31 = phi( test_16s::@8/rem16s#18 )
  rem16u#55 = phi( test_16s::@8/rem16u#59 )
  test_16s::i#4 = phi( test_16s::@8/test_16s::i#5 )
  print_line_cursor#46 = phi( test_16s::@8/print_line_cursor#51 )
  print_char_cursor#127 = phi( test_16s::@8/print_char_cursor#7 )
  print_char_cursor#61 = print_char_cursor#127
  call print_ln
  to:test_16s::@10
test_16s::@10: scope:[test_16s]  from test_16s::@9
  rem16s#26 = phi( test_16s::@9/rem16s#31 )
  rem16u#46 = phi( test_16s::@9/rem16u#55 )
  test_16s::i#3 = phi( test_16s::@9/test_16s::i#4 )
  print_char_cursor#128 = phi( test_16s::@9/print_char_cursor#3 )
  print_line_cursor#37 = phi( test_16s::@9/print_line_cursor#1 )
  print_line_cursor#16 = print_line_cursor#37
  print_char_cursor#62 = print_char_cursor#128
  test_16s::i#1 = test_16s::i#3 + rangenext(0,5)
  test_16s::$9 = test_16s::i#1 != rangelast(0,5)
  if(test_16s::$9) goto test_16s::@1
  to:test_16s::@return
test_16s::@return: scope:[test_16s]  from test_16s::@10
  print_line_cursor#38 = phi( test_16s::@10/print_line_cursor#16 )
  print_char_cursor#129 = phi( test_16s::@10/print_char_cursor#62 )
  rem16s#19 = phi( test_16s::@10/rem16s#26 )
  rem16u#34 = phi( test_16s::@10/rem16u#46 )
  rem16u#14 = rem16u#34
  rem16s#8 = rem16s#19
  print_char_cursor#63 = print_char_cursor#129
  print_line_cursor#17 = print_line_cursor#38
  return 
  to:@return

void __start()
__start: scope:[__start]  from
  to:__start::__init1
__start::__init1: scope:[__start]  from __start
  print_screen#0 = (char *)$400
  print_line_cursor#18 = print_screen#0
  print_char_cursor#64 = print_line_cursor#18
  rem8u#13 = 0
  rem16u#15 = 0
  rem8s#7 = 0
  rem16s#9 = 0
  to:__start::@1
__start::@1: scope:[__start]  from __start::__init1
  print_screen#7 = phi( __start::__init1/print_screen#0 )
  rem16s#27 = phi( __start::__init1/rem16s#9 )
  rem8s#23 = phi( __start::__init1/rem8s#7 )
  rem16u#47 = phi( __start::__init1/rem16u#15 )
  rem8u#43 = phi( __start::__init1/rem8u#13 )
  print_char_cursor#148 = phi( __start::__init1/print_char_cursor#64 )
  print_line_cursor#47 = phi( __start::__init1/print_line_cursor#18 )
  call main
  to:__start::@2
__start::@2: scope:[__start]  from __start::@1
  print_screen#6 = phi( __start::@1/print_screen#7 )
  rem16s#20 = phi( __start::@1/rem16s#6 )
  rem8s#16 = phi( __start::@1/rem8s#4 )
  rem16u#35 = phi( __start::@1/rem16u#10 )
  rem8u#31 = phi( __start::@1/rem8u#8 )
  print_char_cursor#130 = phi( __start::@1/print_char_cursor#27 )
  print_line_cursor#39 = phi( __start::@1/print_line_cursor#9 )
  print_line_cursor#19 = print_line_cursor#39
  print_char_cursor#65 = print_char_cursor#130
  rem8u#14 = rem8u#31
  rem16u#16 = rem16u#35
  rem8s#8 = rem8s#16
  rem16s#10 = rem16s#20
  to:__start::@return
__start::@return: scope:[__start]  from __start::@2
  rem16s#21 = phi( __start::@2/rem16s#10 )
  rem8s#17 = phi( __start::@2/rem8s#8 )
  rem16u#36 = phi( __start::@2/rem16u#16 )
  rem8u#32 = phi( __start::@2/rem8u#14 )
  print_char_cursor#131 = phi( __start::@2/print_char_cursor#65 )
  print_line_cursor#40 = phi( __start::@2/print_line_cursor#19 )
  print_screen#4 = phi( __start::@2/print_screen#6 )
  print_screen#1 = print_screen#4
  print_line_cursor#20 = print_line_cursor#40
  print_char_cursor#66 = print_char_cursor#131
  rem8u#15 = rem8u#32
  rem16u#17 = rem16u#36
  rem8s#9 = rem8s#17
  rem16s#11 = rem16s#21
  return 
  to:@return

SYMBOL TABLE SSA
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
__constant char SIZEOF_INT = 2
__constant char SIZEOF_UNSIGNED_INT = 2
void __start()
int div16s(int dividend , int divisor)
int div16s::$0
int div16s::dividend
int div16s::dividend#0
int div16s::dividend#1
int div16s::divisor
int div16s::divisor#0
int div16s::divisor#1
int div16s::return
int div16s::return#0
int div16s::return#1
int div16s::return#2
int div16s::return#3
int div16s::return#4
unsigned int div16u(unsigned int dividend , unsigned int divisor)
unsigned int div16u::$0
unsigned int div16u::dividend
unsigned int div16u::dividend#0
unsigned int div16u::dividend#1
unsigned int div16u::divisor
unsigned int div16u::divisor#0
unsigned int div16u::divisor#1
unsigned int div16u::return
unsigned int div16u::return#0
unsigned int div16u::return#1
unsigned int div16u::return#2
unsigned int div16u::return#3
unsigned int div16u::return#4
signed char div8s(signed char dividend , signed char divisor)
bool div8s::$0
bool div8s::$1
bool div8s::$3
signed char div8s::$4
signed char div8s::$5
number div8s::$6
signed char div8s::$7
signed char div8s::$8
signed char div8s::dividend
signed char div8s::dividend#0
signed char div8s::dividend#1
signed char div8s::dividend#2
signed char div8s::dividend#3
char div8s::dividendu
char div8s::dividendu#0
char div8s::dividendu#1
char div8s::dividendu#2
char div8s::dividendu#3
char div8s::dividendu#4
char div8s::dividendu#5
char div8s::dividendu#6
signed char div8s::divisor
signed char div8s::divisor#0
signed char div8s::divisor#1
signed char div8s::divisor#2
signed char div8s::divisor#3
signed char div8s::divisor#4
signed char div8s::divisor#5
signed char div8s::divisor#6
char div8s::divisoru
char div8s::divisoru#0
char div8s::divisoru#1
char div8s::divisoru#2
char div8s::divisoru#3
char div8s::neg
char div8s::neg#0
char div8s::neg#1
char div8s::neg#2
char div8s::neg#3
char div8s::neg#4
char div8s::neg#5
char div8s::neg#6
char div8s::neg#7
char div8s::neg#8
char div8s::resultu
char div8s::resultu#0
char div8s::resultu#1
char div8s::resultu#2
signed char div8s::return
signed char div8s::return#0
signed char div8s::return#1
signed char div8s::return#2
signed char div8s::return#3
signed char div8s::return#4
signed char div8s::return#5
char div8u(char dividend , char divisor)
char div8u::$0
char div8u::dividend
char div8u::dividend#0
char div8u::dividend#1
char div8u::dividend#2
char div8u::divisor
char div8u::divisor#0
char div8u::divisor#1
char div8u::divisor#2
char div8u::return
char div8u::return#0
char div8u::return#1
char div8u::return#2
char div8u::return#3
char div8u::return#4
char div8u::return#5
char div8u::return#6
int divr16s(int dividend , int divisor , int rem)
bool divr16s::$0
bool divr16s::$1
int divr16s::$10
int divr16s::$11
bool divr16s::$2
bool divr16s::$3
bool divr16s::$5
int divr16s::$6
int divr16s::$7
int divr16s::$8
number divr16s::$9
int divr16s::dividend
int divr16s::dividend#0
int divr16s::dividend#1
int divr16s::dividend#2
int divr16s::dividend#3
unsigned int divr16s::dividendu
unsigned int divr16s::dividendu#0
unsigned int divr16s::dividendu#1
unsigned int divr16s::dividendu#2
unsigned int divr16s::dividendu#3
unsigned int divr16s::dividendu#4
unsigned int divr16s::dividendu#5
unsigned int divr16s::dividendu#6
int divr16s::divisor
int divr16s::divisor#0
int divr16s::divisor#1
int divr16s::divisor#2
int divr16s::divisor#3
int divr16s::divisor#4
int divr16s::divisor#5
int divr16s::divisor#6
unsigned int divr16s::divisoru
unsigned int divr16s::divisoru#0
unsigned int divr16s::divisoru#1
unsigned int divr16s::divisoru#2
unsigned int divr16s::divisoru#3
char divr16s::neg
char divr16s::neg#0
char divr16s::neg#1
char divr16s::neg#2
char divr16s::neg#3
char divr16s::neg#4
char divr16s::neg#5
char divr16s::neg#6
char divr16s::neg#7
char divr16s::neg#8
int divr16s::rem
int divr16s::rem#0
int divr16s::rem#1
int divr16s::rem#2
int divr16s::rem#3
unsigned int divr16s::remu
unsigned int divr16s::remu#0
unsigned int divr16s::remu#1
unsigned int divr16s::remu#2
unsigned int divr16s::remu#3
unsigned int divr16s::remu#4
unsigned int divr16s::remu#5
unsigned int divr16s::remu#6
unsigned int divr16s::resultu
unsigned int divr16s::resultu#0
unsigned int divr16s::resultu#1
unsigned int divr16s::resultu#2
int divr16s::return
int divr16s::return#0
int divr16s::return#1
int divr16s::return#2
int divr16s::return#3
int divr16s::return#4
int divr16s::return#5
unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
unsigned int divr16u::$0
char divr16u::$1
unsigned int divr16u::$10
bool divr16u::$11
number divr16u::$2
bool divr16u::$3
bool divr16u::$4
number divr16u::$5
unsigned int divr16u::$6
unsigned int divr16u::$7
bool divr16u::$8
bool divr16u::$9
unsigned int divr16u::dividend
unsigned int divr16u::dividend#0
unsigned int divr16u::dividend#1
unsigned int divr16u::dividend#2
unsigned int divr16u::dividend#3
unsigned int divr16u::dividend#4
unsigned int divr16u::dividend#5
unsigned int divr16u::dividend#6
unsigned int divr16u::dividend#7
unsigned int divr16u::dividend#8
unsigned int divr16u::divisor
unsigned int divr16u::divisor#0
unsigned int divr16u::divisor#1
unsigned int divr16u::divisor#2
unsigned int divr16u::divisor#3
unsigned int divr16u::divisor#4
unsigned int divr16u::divisor#5
unsigned int divr16u::divisor#6
unsigned int divr16u::divisor#7
char divr16u::i
char divr16u::i#0
char divr16u::i#1
char divr16u::i#2
char divr16u::i#3
char divr16u::i#4
char divr16u::i#5
char divr16u::i#6
unsigned int divr16u::quotient
unsigned int divr16u::quotient#0
unsigned int divr16u::quotient#1
unsigned int divr16u::quotient#2
unsigned int divr16u::quotient#3
unsigned int divr16u::quotient#4
unsigned int divr16u::quotient#5
unsigned int divr16u::quotient#6
unsigned int divr16u::quotient#7
unsigned int divr16u::quotient#8
unsigned int divr16u::rem
unsigned int divr16u::rem#0
unsigned int divr16u::rem#1
unsigned int divr16u::rem#10
unsigned int divr16u::rem#11
unsigned int divr16u::rem#2
unsigned int divr16u::rem#3
unsigned int divr16u::rem#4
unsigned int divr16u::rem#5
unsigned int divr16u::rem#6
unsigned int divr16u::rem#7
unsigned int divr16u::rem#8
unsigned int divr16u::rem#9
unsigned int divr16u::return
unsigned int divr16u::return#0
unsigned int divr16u::return#1
unsigned int divr16u::return#2
unsigned int divr16u::return#3
unsigned int divr16u::return#4
unsigned int divr16u::return#5
unsigned int divr16u::return#6
char divr8u(char dividend , char divisor , char rem)
char divr8u::$0
number divr8u::$1
bool divr8u::$10
bool divr8u::$2
bool divr8u::$3
number divr8u::$4
char divr8u::$5
char divr8u::$6
bool divr8u::$7
bool divr8u::$8
char divr8u::$9
char divr8u::dividend
char divr8u::dividend#0
char divr8u::dividend#1
char divr8u::dividend#2
char divr8u::dividend#3
char divr8u::dividend#4
char divr8u::dividend#5
char divr8u::dividend#6
char divr8u::dividend#7
char divr8u::divisor
char divr8u::divisor#0
char divr8u::divisor#1
char divr8u::divisor#2
char divr8u::divisor#3
char divr8u::divisor#4
char divr8u::divisor#5
char divr8u::divisor#6
char divr8u::i
char divr8u::i#0
char divr8u::i#1
char divr8u::i#2
char divr8u::i#3
char divr8u::i#4
char divr8u::i#5
char divr8u::i#6
char divr8u::quotient
char divr8u::quotient#0
char divr8u::quotient#1
char divr8u::quotient#2
char divr8u::quotient#3
char divr8u::quotient#4
char divr8u::quotient#5
char divr8u::quotient#6
char divr8u::quotient#7
char divr8u::quotient#8
char divr8u::rem
char divr8u::rem#0
char divr8u::rem#1
char divr8u::rem#10
char divr8u::rem#2
char divr8u::rem#3
char divr8u::rem#4
char divr8u::rem#5
char divr8u::rem#6
char divr8u::rem#7
char divr8u::rem#8
char divr8u::rem#9
char divr8u::return
char divr8u::return#0
char divr8u::return#1
char divr8u::return#2
char divr8u::return#3
char divr8u::return#4
void main()
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::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
void *memset::return
void *memset::return#0
void *memset::return#1
void *memset::return#2
void *memset::return#3
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 print_char(char ch)
char print_char::ch
char print_char::ch#0
char print_char::ch#1
char print_char::ch#2
char print_char::ch#3
char print_char::ch#4
char print_char::ch#5
char print_char::ch#6
char print_char::ch#7
char *print_char_cursor
char *print_char_cursor#0
char *print_char_cursor#1
char *print_char_cursor#10
char *print_char_cursor#100
char *print_char_cursor#101
char *print_char_cursor#102
char *print_char_cursor#103
char *print_char_cursor#104
char *print_char_cursor#105
char *print_char_cursor#106
char *print_char_cursor#107
char *print_char_cursor#108
char *print_char_cursor#109
char *print_char_cursor#11
char *print_char_cursor#110
char *print_char_cursor#111
char *print_char_cursor#112
char *print_char_cursor#113
char *print_char_cursor#114
char *print_char_cursor#115
char *print_char_cursor#116
char *print_char_cursor#117
char *print_char_cursor#118
char *print_char_cursor#119
char *print_char_cursor#12
char *print_char_cursor#120
char *print_char_cursor#121
char *print_char_cursor#122
char *print_char_cursor#123
char *print_char_cursor#124
char *print_char_cursor#125
char *print_char_cursor#126
char *print_char_cursor#127
char *print_char_cursor#128
char *print_char_cursor#129
char *print_char_cursor#13
char *print_char_cursor#130
char *print_char_cursor#131
char *print_char_cursor#132
char *print_char_cursor#133
char *print_char_cursor#134
char *print_char_cursor#135
char *print_char_cursor#136
char *print_char_cursor#137
char *print_char_cursor#138
char *print_char_cursor#139
char *print_char_cursor#14
char *print_char_cursor#140
char *print_char_cursor#141
char *print_char_cursor#142
char *print_char_cursor#143
char *print_char_cursor#144
char *print_char_cursor#145
char *print_char_cursor#146
char *print_char_cursor#147
char *print_char_cursor#148
char *print_char_cursor#149
char *print_char_cursor#15
char *print_char_cursor#150
char *print_char_cursor#151
char *print_char_cursor#152
char *print_char_cursor#153
char *print_char_cursor#154
char *print_char_cursor#155
char *print_char_cursor#156
char *print_char_cursor#157
char *print_char_cursor#158
char *print_char_cursor#159
char *print_char_cursor#16
char *print_char_cursor#17
char *print_char_cursor#18
char *print_char_cursor#19
char *print_char_cursor#2
char *print_char_cursor#20
char *print_char_cursor#21
char *print_char_cursor#22
char *print_char_cursor#23
char *print_char_cursor#24
char *print_char_cursor#25
char *print_char_cursor#26
char *print_char_cursor#27
char *print_char_cursor#28
char *print_char_cursor#29
char *print_char_cursor#3
char *print_char_cursor#30
char *print_char_cursor#31
char *print_char_cursor#32
char *print_char_cursor#33
char *print_char_cursor#34
char *print_char_cursor#35
char *print_char_cursor#36
char *print_char_cursor#37
char *print_char_cursor#38
char *print_char_cursor#39
char *print_char_cursor#4
char *print_char_cursor#40
char *print_char_cursor#41
char *print_char_cursor#42
char *print_char_cursor#43
char *print_char_cursor#44
char *print_char_cursor#45
char *print_char_cursor#46
char *print_char_cursor#47
char *print_char_cursor#48
char *print_char_cursor#49
char *print_char_cursor#5
char *print_char_cursor#50
char *print_char_cursor#51
char *print_char_cursor#52
char *print_char_cursor#53
char *print_char_cursor#54
char *print_char_cursor#55
char *print_char_cursor#56
char *print_char_cursor#57
char *print_char_cursor#58
char *print_char_cursor#59
char *print_char_cursor#6
char *print_char_cursor#60
char *print_char_cursor#61
char *print_char_cursor#62
char *print_char_cursor#63
char *print_char_cursor#64
char *print_char_cursor#65
char *print_char_cursor#66
char *print_char_cursor#67
char *print_char_cursor#68
char *print_char_cursor#69
char *print_char_cursor#7
char *print_char_cursor#70
char *print_char_cursor#71
char *print_char_cursor#72
char *print_char_cursor#73
char *print_char_cursor#74
char *print_char_cursor#75
char *print_char_cursor#76
char *print_char_cursor#77
char *print_char_cursor#78
char *print_char_cursor#79
char *print_char_cursor#8
char *print_char_cursor#80
char *print_char_cursor#81
char *print_char_cursor#82
char *print_char_cursor#83
char *print_char_cursor#84
char *print_char_cursor#85
char *print_char_cursor#86
char *print_char_cursor#87
char *print_char_cursor#88
char *print_char_cursor#89
char *print_char_cursor#9
char *print_char_cursor#90
char *print_char_cursor#91
char *print_char_cursor#92
char *print_char_cursor#93
char *print_char_cursor#94
char *print_char_cursor#95
char *print_char_cursor#96
char *print_char_cursor#97
char *print_char_cursor#98
char *print_char_cursor#99
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
char *print_line_cursor
char *print_line_cursor#0
char *print_line_cursor#1
char *print_line_cursor#10
char *print_line_cursor#11
char *print_line_cursor#12
char *print_line_cursor#13
char *print_line_cursor#14
char *print_line_cursor#15
char *print_line_cursor#16
char *print_line_cursor#17
char *print_line_cursor#18
char *print_line_cursor#19
char *print_line_cursor#2
char *print_line_cursor#20
char *print_line_cursor#21
char *print_line_cursor#22
char *print_line_cursor#23
char *print_line_cursor#24
char *print_line_cursor#25
char *print_line_cursor#26
char *print_line_cursor#27
char *print_line_cursor#28
char *print_line_cursor#29
char *print_line_cursor#3
char *print_line_cursor#30
char *print_line_cursor#31
char *print_line_cursor#32
char *print_line_cursor#33
char *print_line_cursor#34
char *print_line_cursor#35
char *print_line_cursor#36
char *print_line_cursor#37
char *print_line_cursor#38
char *print_line_cursor#39
char *print_line_cursor#4
char *print_line_cursor#40
char *print_line_cursor#41
char *print_line_cursor#42
char *print_line_cursor#43
char *print_line_cursor#44
char *print_line_cursor#45
char *print_line_cursor#46
char *print_line_cursor#47
char *print_line_cursor#48
char *print_line_cursor#49
char *print_line_cursor#5
char *print_line_cursor#50
char *print_line_cursor#51
char *print_line_cursor#52
char *print_line_cursor#53
char *print_line_cursor#54
char *print_line_cursor#55
char *print_line_cursor#56
char *print_line_cursor#57
char *print_line_cursor#58
char *print_line_cursor#59
char *print_line_cursor#6
char *print_line_cursor#60
char *print_line_cursor#61
char *print_line_cursor#62
char *print_line_cursor#63
char *print_line_cursor#64
char *print_line_cursor#65
char *print_line_cursor#66
char *print_line_cursor#67
char *print_line_cursor#68
char *print_line_cursor#69
char *print_line_cursor#7
char *print_line_cursor#70
char *print_line_cursor#71
char *print_line_cursor#72
char *print_line_cursor#73
char *print_line_cursor#74
char *print_line_cursor#75
char *print_line_cursor#76
char *print_line_cursor#77
char *print_line_cursor#78
char *print_line_cursor#79
char *print_line_cursor#8
char *print_line_cursor#80
char *print_line_cursor#81
char *print_line_cursor#82
char *print_line_cursor#83
char *print_line_cursor#9
void print_ln()
char *print_ln::$0
bool print_ln::$1
void print_schar(signed char b)
bool print_schar::$0
signed char print_schar::$4
signed char print_schar::b
signed char print_schar::b#0
signed char print_schar::b#1
signed char print_schar::b#10
signed char print_schar::b#2
signed char print_schar::b#3
signed char print_schar::b#4
signed char print_schar::b#5
signed char print_schar::b#6
signed char print_schar::b#7
signed char print_schar::b#8
signed char print_schar::b#9
char *print_screen
char *print_screen#0
char *print_screen#1
char *print_screen#2
char *print_screen#3
char *print_screen#4
char *print_screen#5
char *print_screen#6
char *print_screen#7
void print_sint(int w)
bool print_sint::$0
int print_sint::$4
int print_sint::w
int print_sint::w#0
int print_sint::w#1
int print_sint::w#10
int print_sint::w#2
int print_sint::w#3
int print_sint::w#4
int print_sint::w#5
int print_sint::w#6
int print_sint::w#7
int print_sint::w#8
int print_sint::w#9
void print_str(char *str)
bool print_str::$1
char *print_str::str
char *print_str::str#0
char *print_str::str#1
char *print_str::str#10
char *print_str::str#11
char *print_str::str#12
char *print_str::str#13
char *print_str::str#14
char *print_str::str#15
char *print_str::str#16
char *print_str::str#2
char *print_str::str#3
char *print_str::str#4
char *print_str::str#5
char *print_str::str#6
char *print_str::str#7
char *print_str::str#8
char *print_str::str#9
void print_uchar(char b)
char print_uchar::$0
number print_uchar::$2
char print_uchar::b
char print_uchar::b#0
char print_uchar::b#1
char print_uchar::b#2
char print_uchar::b#3
char print_uchar::b#4
char print_uchar::b#5
char print_uchar::b#6
char print_uchar::b#7
char print_uchar::b#8
void print_uint(unsigned int w)
char print_uint::$0
char print_uint::$2
unsigned int print_uint::w
unsigned int print_uint::w#0
unsigned int print_uint::w#1
unsigned int print_uint::w#2
unsigned int print_uint::w#3
unsigned int print_uint::w#4
unsigned int print_uint::w#5
unsigned int print_uint::w#6
int rem16s
int rem16s#0
int rem16s#1
int rem16s#10
int rem16s#11
int rem16s#12
int rem16s#13
int rem16s#14
int rem16s#15
int rem16s#16
int rem16s#17
int rem16s#18
int rem16s#19
int rem16s#2
int rem16s#20
int rem16s#21
int rem16s#22
int rem16s#23
int rem16s#24
int rem16s#25
int rem16s#26
int rem16s#27
int rem16s#28
int rem16s#29
int rem16s#3
int rem16s#30
int rem16s#31
int rem16s#32
int rem16s#33
int rem16s#34
int rem16s#35
int rem16s#36
int rem16s#37
int rem16s#4
int rem16s#5
int rem16s#6
int rem16s#7
int rem16s#8
int rem16s#9
unsigned int rem16u
unsigned int rem16u#0
unsigned int rem16u#1
unsigned int rem16u#10
unsigned int rem16u#11
unsigned int rem16u#12
unsigned int rem16u#13
unsigned int rem16u#14
unsigned int rem16u#15
unsigned int rem16u#16
unsigned int rem16u#17
unsigned int rem16u#18
unsigned int rem16u#19
unsigned int rem16u#2
unsigned int rem16u#20
unsigned int rem16u#21
unsigned int rem16u#22
unsigned int rem16u#23
unsigned int rem16u#24
unsigned int rem16u#25
unsigned int rem16u#26
unsigned int rem16u#27
unsigned int rem16u#28
unsigned int rem16u#29
unsigned int rem16u#3
unsigned int rem16u#30
unsigned int rem16u#31
unsigned int rem16u#32
unsigned int rem16u#33
unsigned int rem16u#34
unsigned int rem16u#35
unsigned int rem16u#36
unsigned int rem16u#37
unsigned int rem16u#38
unsigned int rem16u#39
unsigned int rem16u#4
unsigned int rem16u#40
unsigned int rem16u#41
unsigned int rem16u#42
unsigned int rem16u#43
unsigned int rem16u#44
unsigned int rem16u#45
unsigned int rem16u#46
unsigned int rem16u#47
unsigned int rem16u#48
unsigned int rem16u#49
unsigned int rem16u#5
unsigned int rem16u#50
unsigned int rem16u#51
unsigned int rem16u#52
unsigned int rem16u#53
unsigned int rem16u#54
unsigned int rem16u#55
unsigned int rem16u#56
unsigned int rem16u#57
unsigned int rem16u#58
unsigned int rem16u#59
unsigned int rem16u#6
unsigned int rem16u#60
unsigned int rem16u#61
unsigned int rem16u#62
unsigned int rem16u#63
unsigned int rem16u#64
unsigned int rem16u#65
unsigned int rem16u#66
unsigned int rem16u#67
unsigned int rem16u#68
unsigned int rem16u#69
unsigned int rem16u#7
unsigned int rem16u#8
unsigned int rem16u#9
signed char rem8s
signed char rem8s#0
signed char rem8s#1
signed char rem8s#10
signed char rem8s#11
signed char rem8s#12
signed char rem8s#13
signed char rem8s#14
signed char rem8s#15
signed char rem8s#16
signed char rem8s#17
signed char rem8s#18
signed char rem8s#19
signed char rem8s#2
signed char rem8s#20
signed char rem8s#21
signed char rem8s#22
signed char rem8s#23
signed char rem8s#24
signed char rem8s#25
signed char rem8s#26
signed char rem8s#27
signed char rem8s#28
signed char rem8s#29
signed char rem8s#3
signed char rem8s#30
signed char rem8s#31
signed char rem8s#32
signed char rem8s#4
signed char rem8s#5
signed char rem8s#6
signed char rem8s#7
signed char rem8s#8
signed char rem8s#9
char rem8u
char rem8u#0
char rem8u#1
char rem8u#10
char rem8u#11
char rem8u#12
char rem8u#13
char rem8u#14
char rem8u#15
char rem8u#16
char rem8u#17
char rem8u#18
char rem8u#19
char rem8u#2
char rem8u#20
char rem8u#21
char rem8u#22
char rem8u#23
char rem8u#24
char rem8u#25
char rem8u#26
char rem8u#27
char rem8u#28
char rem8u#29
char rem8u#3
char rem8u#30
char rem8u#31
char rem8u#32
char rem8u#33
char rem8u#34
char rem8u#35
char rem8u#36
char rem8u#37
char rem8u#38
char rem8u#39
char rem8u#4
char rem8u#40
char rem8u#41
char rem8u#42
char rem8u#43
char rem8u#44
char rem8u#45
char rem8u#46
char rem8u#47
char rem8u#48
char rem8u#49
char rem8u#5
char rem8u#50
char rem8u#51
char rem8u#52
char rem8u#53
char rem8u#54
char rem8u#55
char rem8u#56
char rem8u#57
char rem8u#58
char rem8u#59
char rem8u#6
char rem8u#60
char rem8u#61
char rem8u#62
char rem8u#63
char rem8u#64
char rem8u#7
char rem8u#8
char rem8u#9
void test_16s()
char test_16s::$10
char test_16s::$11
bool test_16s::$9
int test_16s::dividend
int test_16s::dividend#0
int test_16s::dividend#1
__constant int test_16s::dividends[] = { $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff }
int test_16s::divisor
int test_16s::divisor#0
int test_16s::divisor#1
int test_16s::divisor#2
int test_16s::divisor#3
__constant int test_16s::divisors[] = { 5, -7, $b, -$d, -$11, $13 }
char test_16s::i
char test_16s::i#0
char test_16s::i#1
char test_16s::i#10
char test_16s::i#11
char test_16s::i#2
char test_16s::i#3
char test_16s::i#4
char test_16s::i#5
char test_16s::i#6
char test_16s::i#7
char test_16s::i#8
char test_16s::i#9
int test_16s::res
int test_16s::res#0
int test_16s::res#1
int test_16s::res#2
int test_16s::res#3
int test_16s::res#4
__constant char test_16s::str[4] = " / "
__constant char test_16s::str1[4] = " = "
__constant char test_16s::str2[2] = " "
void test_16u()
char test_16u::$10
char test_16u::$11
bool test_16u::$9
unsigned int test_16u::dividend
unsigned int test_16u::dividend#0
unsigned int test_16u::dividend#1
__constant unsigned int test_16u::dividends[] = { $ffff, $ffff, $ffff, $ffff, $ffff, $ffff }
unsigned int test_16u::divisor
unsigned int test_16u::divisor#0
unsigned int test_16u::divisor#1
unsigned int test_16u::divisor#2
unsigned int test_16u::divisor#3
__constant unsigned int test_16u::divisors[] = { 5, 7, $b, $d, $11, $13 }
char test_16u::i
char test_16u::i#0
char test_16u::i#1
char test_16u::i#10
char test_16u::i#11
char test_16u::i#2
char test_16u::i#3
char test_16u::i#4
char test_16u::i#5
char test_16u::i#6
char test_16u::i#7
char test_16u::i#8
char test_16u::i#9
unsigned int test_16u::res
unsigned int test_16u::res#0
unsigned int test_16u::res#1
unsigned int test_16u::res#2
unsigned int test_16u::res#3
unsigned int test_16u::res#4
__constant char test_16u::str[4] = " / "
__constant char test_16u::str1[4] = " = "
__constant char test_16u::str2[2] = " "
void test_8s()
bool test_8s::$9
signed char test_8s::dividend
signed char test_8s::dividend#0
signed char test_8s::dividend#1
__constant signed char test_8s::dividends[] = { $7f, -$7f, -$7f, $7f, $7f, $7f }
signed char test_8s::divisor
signed char test_8s::divisor#0
signed char test_8s::divisor#1
signed char test_8s::divisor#2
signed char test_8s::divisor#3
__constant signed char test_8s::divisors[] = { 5, 7, -$b, -$d, $11, $13 }
char test_8s::i
char test_8s::i#0
char test_8s::i#1
char test_8s::i#10
char test_8s::i#11
char test_8s::i#2
char test_8s::i#3
char test_8s::i#4
char test_8s::i#5
char test_8s::i#6
char test_8s::i#7
char test_8s::i#8
char test_8s::i#9
signed char test_8s::res
signed char test_8s::res#0
signed char test_8s::res#1
signed char test_8s::res#2
signed char test_8s::res#3
signed char test_8s::res#4
__constant char test_8s::str[4] = " / "
__constant char test_8s::str1[4] = " = "
__constant char test_8s::str2[2] = " "
void test_8u()
bool test_8u::$9
char test_8u::dividend
char test_8u::dividend#0
char test_8u::dividend#1
__constant char test_8u::dividends[] = { $ff, $ff, $ff, $ff, $ff, $ff }
char test_8u::divisor
char test_8u::divisor#0
char test_8u::divisor#1
char test_8u::divisor#2
char test_8u::divisor#3
__constant char test_8u::divisors[] = { 5, 7, $b, $d, $11, $13 }
char test_8u::i
char test_8u::i#0
char test_8u::i#1
char test_8u::i#10
char test_8u::i#11
char test_8u::i#2
char test_8u::i#3
char test_8u::i#4
char test_8u::i#5
char test_8u::i#6
char test_8u::i#7
char test_8u::i#8
char test_8u::i#9
char test_8u::res
char test_8u::res#0
char test_8u::res#1
char test_8u::res#2
char test_8u::res#3
char test_8u::res#4
__constant char test_8u::str[4] = " / "
__constant char test_8u::str1[4] = " = "
__constant char test_8u::str2[2] = " "

Adding number conversion cast (unumber) 0 in print_str::$1 = 0 != *print_str::str#13
Adding number conversion cast (unumber) $28 in print_ln::$0 = print_line_cursor#21 + $28
Adding number conversion cast (snumber) 0 in print_sint::$0 = print_sint::w#5 < 0
Adding number conversion cast (snumber) 0 in print_schar::$0 = print_schar::b#5 < 0
Adding number conversion cast (unumber) 4 in print_uchar::$0 = print_uchar::b#7 >> 4
Adding number conversion cast (unumber) $f in print_uchar::$2 = print_uchar::b#8 & $f
Adding number conversion cast (unumber) print_uchar::$2 in print_uchar::$2 = print_uchar::b#8 & (unumber)$f
Adding number conversion cast (unumber) $3e8 in memset::num#0 = $3e8
Adding number conversion cast (unumber) 0 in memset::$0 = memset::num#1 > 0
Adding number conversion cast (unumber) 0 in divr8u::rem#0 = 0
Adding number conversion cast (unumber) 1 in divr8u::$0 = divr8u::rem#4 << 1
Adding number conversion cast (unumber) $80 in divr8u::$1 = divr8u::dividend#2 & $80
Adding number conversion cast (unumber) divr8u::$1 in divr8u::$1 = divr8u::dividend#2 & (unumber)$80
Adding number conversion cast (unumber) 0 in divr8u::$2 = divr8u::$1 != 0
Adding number conversion cast (unumber) 1 in divr8u::$5 = divr8u::dividend#3 << 1
Adding number conversion cast (unumber) 1 in divr8u::$6 = divr8u::quotient#3 << 1
Adding number conversion cast (unumber) 1 in divr8u::$4 = divr8u::rem#6 | 1
Adding number conversion cast (unumber) divr8u::$4 in divr8u::$4 = divr8u::rem#6 | (unumber)1
Adding number conversion cast (unumber) 1 in divr16u::$0 = divr16u::rem#5 << 1
Adding number conversion cast (unumber) $80 in divr16u::$2 = divr16u::$1 & $80
Adding number conversion cast (unumber) divr16u::$2 in divr16u::$2 = divr16u::$1 & (unumber)$80
Adding number conversion cast (unumber) 0 in divr16u::$3 = divr16u::$2 != 0
Adding number conversion cast (unumber) 1 in divr16u::$6 = divr16u::dividend#4 << 1
Adding number conversion cast (unumber) 1 in divr16u::$7 = divr16u::quotient#3 << 1
Adding number conversion cast (unumber) 1 in divr16u::$5 = divr16u::rem#7 | 1
Adding number conversion cast (unumber) divr16u::$5 in divr16u::$5 = divr16u::rem#7 | (unumber)1
Adding number conversion cast (unumber) 0 in divr16u::rem#3 = 0
Adding number conversion cast (snumber) 0 in div8s::$0 = div8s::dividend#1 < 0
Adding number conversion cast (unumber) 1 in div8s::neg#1 = 1
Adding number conversion cast (snumber) 0 in div8s::$1 = div8s::divisor#1 < 0
Adding number conversion cast (unumber) 1 in div8s::$6 = div8s::neg#3 ^ 1
Adding number conversion cast (unumber) div8s::$6 in div8s::$6 = div8s::neg#3 ^ (unumber)1
Adding number conversion cast (unumber) 0 in div8s::$3 = div8s::neg#4 == 0
Adding number conversion cast (snumber) 0 in divr16s::$0 = divr16s::dividend#1 < 0
Adding number conversion cast (snumber) 0 in divr16s::$1 = divr16s::rem#1 < 0
Adding number conversion cast (unumber) 1 in divr16s::neg#1 = 1
Adding number conversion cast (snumber) 0 in divr16s::$3 = divr16s::divisor#1 < 0
Adding number conversion cast (unumber) 1 in divr16s::$9 = divr16s::neg#3 ^ 1
Adding number conversion cast (unumber) divr16s::$9 in divr16s::$9 = divr16s::neg#3 ^ (unumber)1
Adding number conversion cast (unumber) 0 in divr16s::$5 = divr16s::neg#4 == 0
Adding number conversion cast (snumber) 0 in divr16s::rem#0 = 0
Successful SSA optimization PassNAddNumberTypeConversions
Inlining cast memset::num#0 = (unumber)$3e8
Inlining cast memset::dst#0 = (char *)memset::str#2
Inlining cast divr8u::rem#0 = (unumber)0
Inlining cast divr16u::rem#3 = (unumber)0
Inlining cast div8s::neg#1 = (unumber)1
Inlining cast divr16s::neg#1 = (unumber)1
Inlining cast divr16s::rem#0 = (snumber)0
Successful SSA optimization Pass2InlineCast
Simplifying constant integer cast 0
Simplifying constant integer cast $28
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 4
Simplifying constant integer cast $f
Simplifying constant integer cast $3e8
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast $80
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 1
Simplifying constant integer cast 0
Simplifying constant integer cast 0
Simplifying constant pointer cast (char *) 1024
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) $28
Finalized signed number type (signed char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 4
Finalized unsigned number type (char) $f
Finalized unsigned number type (unsigned int) $3e8
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) $80
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 unsigned number type (char) 1
Finalized unsigned number type (char) $80
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 unsigned number type (char) 0
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 1
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 1
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) 1
Finalized signed number type (signed char) 0
Finalized unsigned number type (char) 1
Finalized unsigned number type (char) 0
Finalized signed number type (signed char) 0
Successful SSA optimization PassNFinalizeNumberTypeConversions
Inferred type updated to char in print_uchar::$2 = print_uchar::b#8 & $f
Inferred type updated to char in divr8u::$1 = divr8u::dividend#2 & $80
Inferred type updated to char in divr8u::$4 = divr8u::rem#6 | 1
Inferred type updated to char in divr16u::$2 = divr16u::$1 & $80
Inferred type updated to unsigned int in divr16u::$5 = divr16u::rem#7 | 1
Inferred type updated to char in div8s::$6 = div8s::neg#3 ^ 1
Inferred type updated to char in divr16s::$9 = divr16s::neg#3 ^ 1
Inversing boolean not [120] memset::$1 = memset::num#1 <= 0 from [119] memset::$0 = memset::num#1 > 0
Inversing boolean not [159] divr8u::$3 = divr8u::$1 == 0 from [158] divr8u::$2 = divr8u::$1 != 0
Inversing boolean not [167] divr8u::$8 = divr8u::rem#5 < divr8u::divisor#1 from [166] divr8u::$7 = divr8u::rem#5 >= divr8u::divisor#1
Inversing boolean not [196] divr16u::$4 = divr16u::$2 == 0 from [195] divr16u::$3 = divr16u::$2 != 0
Inversing boolean not [204] divr16u::$9 = divr16u::rem#6 < divr16u::divisor#2 from [203] divr16u::$8 = divr16u::rem#6 >= divr16u::divisor#2
Successful SSA optimization Pass2UnaryNotSimplification
Alias print_str::str#13 = print_str::str#14 print_str::str#15 
Alias print_char_cursor#1 = print_char_cursor#132 print_char_cursor#133 print_char_cursor#68 
Alias print_char_cursor#0 = print_char_cursor#67 
Alias print_line_cursor#0 = print_ln::$0 print_line_cursor#22 print_char_cursor#2 print_line_cursor#23 print_char_cursor#70 print_line_cursor#1 print_char_cursor#3 
Alias print_char_cursor#135 = print_char_cursor#150 print_char_cursor#136 
Alias print_sint::w#10 = print_sint::w#8 print_sint::w#5 print_sint::w#6 print_sint::w#9 
Alias print_char_cursor#4 = print_char_cursor#71 
Alias print_sint::w#0 = print_sint::$4 
Alias print_char_cursor#5 = print_char_cursor#72 
Alias print_char_cursor#6 = print_char_cursor#73 print_char_cursor#74 print_char_cursor#7 
Alias print_char_cursor#138 = print_char_cursor#151 print_char_cursor#139 
Alias print_schar::b#10 = print_schar::b#8 print_schar::b#5 print_schar::b#6 print_schar::b#9 
Alias print_char_cursor#75 = print_char_cursor#8 
Alias print_schar::b#0 = print_schar::$4 
Alias print_char_cursor#76 = print_char_cursor#9 
Alias print_char_cursor#10 = print_char_cursor#77 print_char_cursor#78 print_char_cursor#11 
Alias print_uchar::b#1 = print_uint::$0 
Alias print_uint::w#5 = print_uint::w#6 
Alias print_char_cursor#12 = print_char_cursor#79 
Alias print_uchar::b#2 = print_uint::$2 
Alias print_char_cursor#13 = print_char_cursor#80 print_char_cursor#81 print_char_cursor#14 
Alias print_uchar::b#7 = print_uchar::b#8 
Alias print_char_cursor#15 = print_char_cursor#82 
Alias print_char_cursor#16 = print_char_cursor#83 print_char_cursor#84 print_char_cursor#17 
Alias print_char_cursor#18 = print_char_cursor#86 print_char_cursor#19 
Alias print_line_cursor#2 = print_screen#3 print_screen#2 print_char_cursor#20 print_line_cursor#24 print_char_cursor#87 print_line_cursor#3 print_char_cursor#21 
Alias memset::return#1 = memset::str#1 memset::return#3 memset::return#2 
Alias memset::str#2 = memset::str#3 
Alias memset::num#1 = memset::num#2 
Alias memset::c#3 = memset::c#4 
Alias memset::c#1 = memset::c#2 
Alias memset::dst#2 = memset::dst#3 
Alias memset::end#1 = memset::end#2 
Alias memset::str#4 = memset::str#5 
Alias divr8u::return#0 = divr8u::return#3 
Alias rem8u#0 = rem8u#16 rem8u#17 rem8u#1 
Alias div8u::return#0 = div8u::$0 div8u::return#4 div8u::return#1 
Alias divr8u::rem#1 = divr8u::$0 divr8u::rem#6 
Alias divr8u::dividend#1 = divr8u::$5 divr8u::dividend#7 
Alias divr8u::quotient#1 = divr8u::$6 divr8u::quotient#4 
Alias divr8u::dividend#2 = divr8u::dividend#6 
Alias divr8u::quotient#6 = divr8u::quotient#7 
Alias divr8u::divisor#3 = divr8u::divisor#4 
Alias divr8u::i#5 = divr8u::i#6 
Alias divr8u::rem#2 = divr8u::$4 
Alias divr8u::rem#5 = divr8u::rem#7 
Alias divr8u::divisor#1 = divr8u::divisor#2 
Alias divr8u::i#3 = divr8u::i#4 
Alias divr8u::rem#3 = divr8u::$9 
Alias divr8u::rem#10 = divr8u::rem#8 
Alias divr8u::return#1 = divr8u::quotient#5 divr8u::quotient#8 divr8u::return#4 divr8u::return#2 
Alias rem8u#18 = rem8u#2 rem8u#3 
Alias divr16u::rem#0 = divr16u::$0 divr16u::rem#7 
Alias divr16u::dividend#0 = divr16u::$6 divr16u::dividend#8 
Alias divr16u::quotient#1 = divr16u::$7 divr16u::quotient#4 
Alias divr16u::dividend#3 = divr16u::dividend#7 
Alias divr16u::quotient#6 = divr16u::quotient#7 
Alias divr16u::divisor#4 = divr16u::divisor#5 
Alias divr16u::i#5 = divr16u::i#6 
Alias divr16u::rem#1 = divr16u::$5 
Alias divr16u::rem#6 = divr16u::rem#8 
Alias divr16u::divisor#2 = divr16u::divisor#3 
Alias divr16u::i#3 = divr16u::i#4 
Alias divr16u::rem#2 = divr16u::$10 
Alias divr16u::rem#11 = divr16u::rem#9 
Alias divr16u::return#0 = divr16u::quotient#5 divr16u::quotient#8 divr16u::return#4 divr16u::return#1 
Alias rem16u#0 = rem16u#18 rem16u#1 
Alias divr16u::return#2 = divr16u::return#5 
Alias rem16u#19 = rem16u#2 rem16u#20 rem16u#3 
Alias div16u::return#0 = div16u::$0 div16u::return#3 div16u::return#1 
Alias div8s::dividend#1 = div8s::dividend#2 div8s::dividend#3 
Alias div8s::divisor#4 = div8s::divisor#6 div8s::divisor#5 
Alias rem8u#55 = rem8u#59 rem8u#56 
Alias div8s::neg#0 = div8s::neg#7 
Alias div8s::divisor#1 = div8s::divisor#2 div8s::divisor#3 
Alias div8s::neg#3 = div8s::neg#5 div8s::neg#8 
Alias div8s::dividendu#4 = div8s::dividendu#6 div8s::dividendu#5 
Alias rem8u#44 = rem8u#52 rem8u#45 
Alias div8s::neg#2 = div8s::$6 
Alias div8u::return#2 = div8u::return#5 
Alias div8s::neg#4 = div8s::neg#6 
Alias rem8u#19 = rem8u#4 rem8u#20 rem8u#21 
Alias div8s::resultu#0 = div8s::resultu#1 div8s::resultu#2 
Alias rem8s#1 = div8s::$7 
Alias div8s::return#1 = div8s::$8 
Alias div8s::return#2 = div8s::return#4 
Alias rem8u#22 = rem8u#5 
Alias rem8s#10 = rem8s#2 
Alias divr16s::dividend#1 = divr16s::dividend#2 divr16s::dividend#3 
Alias divr16s::rem#1 = divr16s::rem#2 divr16s::rem#3 
Alias divr16s::divisor#4 = divr16s::divisor#6 divr16s::divisor#5 
Alias rem16u#60 = rem16u#64 rem16u#61 
Alias divr16s::neg#0 = divr16s::neg#7 
Alias divr16s::divisor#1 = divr16s::divisor#2 divr16s::divisor#3 
Alias divr16s::neg#3 = divr16s::neg#5 divr16s::neg#8 
Alias divr16s::dividendu#4 = divr16s::dividendu#6 divr16s::dividendu#5 
Alias divr16s::remu#4 = divr16s::remu#6 divr16s::remu#5 
Alias rem16u#48 = rem16u#56 rem16u#49 
Alias divr16s::neg#2 = divr16s::$9 
Alias divr16u::return#3 = divr16u::return#6 
Alias divr16s::neg#4 = divr16s::neg#6 
Alias rem16u#21 = rem16u#4 rem16u#22 rem16u#23 
Alias divr16s::resultu#0 = divr16s::resultu#1 divr16s::resultu#2 
Alias rem16s#1 = divr16s::$10 
Alias divr16s::return#1 = divr16s::$11 
Alias divr16s::return#2 = divr16s::return#4 
Alias rem16u#24 = rem16u#5 
Alias rem16s#12 = rem16s#2 
Alias divr16s::return#3 = divr16s::return#5 
Alias rem16u#25 = rem16u#6 rem16u#26 rem16u#7 
Alias rem16s#13 = rem16s#3 rem16s#14 rem16s#4 
Alias div16s::return#0 = div16s::$0 div16s::return#3 div16s::return#1 
Alias rem8u#35 = rem8u#46 
Alias rem16u#40 = rem16u#50 rem16u#57 
Alias rem8s#18 = rem8s#28 rem8s#30 rem8s#24 
Alias rem16s#23 = rem16s#34 rem16s#36 rem16s#32 rem16s#28 
Alias print_line_cursor#25 = print_line_cursor#4 
Alias print_char_cursor#22 = print_char_cursor#88 
Alias rem8u#23 = rem8u#6 rem8u#36 
Alias print_char_cursor#23 = print_char_cursor#89 
Alias print_line_cursor#26 = print_line_cursor#5 
Alias rem16u#27 = rem16u#8 rem16u#41 
Alias print_char_cursor#24 = print_char_cursor#90 
Alias print_line_cursor#27 = print_line_cursor#6 
Alias rem8u#24 = rem8u#7 rem8u#37 rem8u#25 rem8u#8 
Alias rem8s#11 = rem8s#3 rem8s#19 rem8s#12 rem8s#4 
Alias print_char_cursor#25 = print_char_cursor#91 
Alias print_line_cursor#28 = print_line_cursor#7 
Alias rem16u#10 = rem16u#9 rem16u#28 rem16u#29 
Alias rem16s#15 = rem16s#5 rem16s#16 rem16s#6 
Alias print_char_cursor#26 = print_char_cursor#92 print_char_cursor#93 print_char_cursor#27 
Alias print_line_cursor#29 = print_line_cursor#8 print_line_cursor#30 print_line_cursor#9 
Alias div8u::return#3 = div8u::return#6 
Alias test_8u::dividend#0 = test_8u::dividend#1 
Alias print_char_cursor#144 = print_char_cursor#152 
Alias test_8u::divisor#0 = test_8u::divisor#3 test_8u::divisor#2 test_8u::divisor#1 
Alias print_line_cursor#43 = print_line_cursor#72 print_line_cursor#76 print_line_cursor#68 print_line_cursor#64 print_line_cursor#60 print_line_cursor#56 print_line_cursor#52 print_line_cursor#48 
Alias test_8u::i#10 = test_8u::i#11 test_8u::i#2 test_8u::i#9 test_8u::i#8 test_8u::i#7 test_8u::i#6 test_8u::i#5 test_8u::i#4 test_8u::i#3 
Alias rem8u#10 = rem8u#9 rem8u#26 rem8u#60 rem8u#57 rem8u#53 rem8u#48 rem8u#39 rem8u#27 rem8u#49 rem8u#40 rem8u#28 
Alias test_8u::res#0 = test_8u::res#4 test_8u::res#3 test_8u::res#2 test_8u::res#1 
Alias print_char_cursor#28 = print_char_cursor#94 
Alias print_char_cursor#29 = print_char_cursor#95 
Alias print_char_cursor#30 = print_char_cursor#96 
Alias print_char_cursor#31 = print_char_cursor#97 
Alias print_char_cursor#32 = print_char_cursor#98 
Alias print_char_cursor#33 = print_char_cursor#99 
Alias print_char_cursor#100 = print_char_cursor#34 
Alias print_line_cursor#10 = print_line_cursor#31 print_line_cursor#32 print_line_cursor#11 
Alias print_char_cursor#101 = print_char_cursor#35 print_char_cursor#102 print_char_cursor#36 
Alias div16u::return#2 = div16u::return#4 
Alias test_16u::dividend#0 = test_16u::dividend#1 
Alias print_char_cursor#145 = print_char_cursor#153 
Alias test_16u::divisor#0 = test_16u::divisor#3 test_16u::divisor#2 test_16u::divisor#1 
Alias print_line_cursor#44 = print_line_cursor#73 print_line_cursor#77 print_line_cursor#69 print_line_cursor#65 print_line_cursor#61 print_line_cursor#57 print_line_cursor#53 print_line_cursor#49 
Alias test_16u::i#10 = test_16u::i#11 test_16u::i#2 test_16u::i#9 test_16u::i#8 test_16u::i#7 test_16u::i#6 test_16u::i#5 test_16u::i#4 test_16u::i#3 
Alias rem16u#11 = rem16u#30 rem16u#65 rem16u#62 rem16u#58 rem16u#52 rem16u#43 rem16u#31 rem16u#53 rem16u#44 rem16u#32 rem16u#12 
Alias test_16u::res#0 = test_16u::res#4 test_16u::res#3 test_16u::res#2 test_16u::res#1 
Alias print_char_cursor#103 = print_char_cursor#37 
Alias print_char_cursor#104 = print_char_cursor#38 
Alias print_char_cursor#105 = print_char_cursor#39 
Alias print_char_cursor#106 = print_char_cursor#40 
Alias print_char_cursor#107 = print_char_cursor#41 
Alias print_char_cursor#108 = print_char_cursor#42 
Alias print_char_cursor#109 = print_char_cursor#43 
Alias print_line_cursor#12 = print_line_cursor#33 print_line_cursor#34 print_line_cursor#13 
Alias print_char_cursor#110 = print_char_cursor#44 print_char_cursor#111 print_char_cursor#45 
Alias div8s::return#3 = div8s::return#5 
Alias test_8s::dividend#0 = test_8s::dividend#1 
Alias print_char_cursor#146 = print_char_cursor#154 
Alias test_8s::divisor#0 = test_8s::divisor#3 test_8s::divisor#2 test_8s::divisor#1 
Alias print_line_cursor#45 = print_line_cursor#74 print_line_cursor#78 print_line_cursor#70 print_line_cursor#66 print_line_cursor#62 print_line_cursor#58 print_line_cursor#54 print_line_cursor#50 
Alias test_8s::i#10 = test_8s::i#11 test_8s::i#2 test_8s::i#9 test_8s::i#8 test_8s::i#7 test_8s::i#6 test_8s::i#5 test_8s::i#4 test_8s::i#3 
Alias rem8u#11 = rem8u#29 rem8u#64 rem8u#63 rem8u#62 rem8u#61 rem8u#58 rem8u#54 rem8u#51 rem8u#42 rem8u#30 rem8u#12 
Alias rem8s#13 = rem8s#5 rem8s#32 rem8s#31 rem8s#29 rem8s#26 rem8s#21 rem8s#14 rem8s#27 rem8s#22 rem8s#15 rem8s#6 
Alias test_8s::res#0 = test_8s::res#4 test_8s::res#3 test_8s::res#2 test_8s::res#1 
Alias print_char_cursor#112 = print_char_cursor#46 
Alias print_char_cursor#113 = print_char_cursor#47 
Alias print_char_cursor#114 = print_char_cursor#48 
Alias print_char_cursor#115 = print_char_cursor#49 
Alias print_char_cursor#116 = print_char_cursor#50 
Alias print_char_cursor#117 = print_char_cursor#51 
Alias print_char_cursor#118 = print_char_cursor#52 
Alias print_line_cursor#14 = print_line_cursor#35 print_line_cursor#36 print_line_cursor#15 
Alias print_char_cursor#119 = print_char_cursor#53 print_char_cursor#120 print_char_cursor#54 
Alias div16s::return#2 = div16s::return#4 
Alias test_16s::dividend#0 = test_16s::dividend#1 
Alias print_char_cursor#147 = print_char_cursor#155 
Alias test_16s::divisor#0 = test_16s::divisor#3 test_16s::divisor#2 test_16s::divisor#1 
Alias print_line_cursor#46 = print_line_cursor#75 print_line_cursor#79 print_line_cursor#71 print_line_cursor#67 print_line_cursor#63 print_line_cursor#59 print_line_cursor#55 print_line_cursor#51 
Alias test_16s::i#10 = test_16s::i#11 test_16s::i#2 test_16s::i#9 test_16s::i#8 test_16s::i#7 test_16s::i#6 test_16s::i#5 test_16s::i#4 test_16s::i#3 
Alias rem16u#13 = rem16u#33 rem16u#69 rem16u#68 rem16u#67 rem16u#66 rem16u#63 rem16u#59 rem16u#55 rem16u#46 rem16u#34 rem16u#14 
Alias rem16s#17 = rem16s#7 rem16s#37 rem16s#35 rem16s#33 rem16s#30 rem16s#25 rem16s#18 rem16s#31 rem16s#26 rem16s#19 rem16s#8 
Alias test_16s::res#0 = test_16s::res#4 test_16s::res#3 test_16s::res#2 test_16s::res#1 
Alias print_char_cursor#121 = print_char_cursor#55 
Alias print_char_cursor#122 = print_char_cursor#56 
Alias print_char_cursor#123 = print_char_cursor#57 
Alias print_char_cursor#124 = print_char_cursor#58 
Alias print_char_cursor#125 = print_char_cursor#59 
Alias print_char_cursor#126 = print_char_cursor#60 
Alias print_char_cursor#127 = print_char_cursor#61 
Alias print_line_cursor#16 = print_line_cursor#37 print_line_cursor#38 print_line_cursor#17 
Alias print_char_cursor#128 = print_char_cursor#62 print_char_cursor#129 print_char_cursor#63 
Alias print_screen#0 = print_line_cursor#18 print_char_cursor#64 print_line_cursor#47 print_char_cursor#148 print_screen#7 print_screen#6 print_screen#4 print_screen#1 
Alias rem8u#13 = rem8u#43 
Alias rem16u#15 = rem16u#47 
Alias rem8s#23 = rem8s#7 
Alias rem16s#27 = rem16s#9 
Alias print_line_cursor#19 = print_line_cursor#39 print_line_cursor#40 print_line_cursor#20 
Alias print_char_cursor#130 = print_char_cursor#65 print_char_cursor#131 print_char_cursor#66 
Alias rem8u#14 = rem8u#31 rem8u#32 rem8u#15 
Alias rem16u#16 = rem16u#35 rem16u#36 rem16u#17 
Alias rem8s#16 = rem8s#8 rem8s#17 rem8s#9 
Alias rem16s#10 = rem16s#20 rem16s#21 rem16s#11 
Successful SSA optimization Pass2AliasElimination
Alias divr8u::dividend#2 = divr8u::dividend#3 
Alias divr8u::quotient#3 = divr8u::quotient#6 
Alias divr8u::divisor#1 = divr8u::divisor#3 divr8u::divisor#6 
Alias divr8u::i#2 = divr8u::i#3 divr8u::i#5 
Alias divr8u::dividend#1 = divr8u::dividend#5 
Alias divr16u::dividend#3 = divr16u::dividend#4 
Alias divr16u::quotient#3 = divr16u::quotient#6 
Alias divr16u::divisor#2 = divr16u::divisor#4 divr16u::divisor#7 
Alias divr16u::i#2 = divr16u::i#3 divr16u::i#5 
Alias divr16u::dividend#0 = divr16u::dividend#6 
Alias div8s::divisor#1 = div8s::divisor#4 
Alias rem8u#34 = rem8u#44 rem8u#55 
Alias div8s::dividendu#3 = div8s::dividendu#4 
Alias rem8u#19 = rem8u#22 
Alias divr16s::divisor#1 = divr16s::divisor#4 
Alias rem16u#38 = rem16u#48 rem16u#60 
Alias divr16s::dividendu#3 = divr16s::dividendu#4 
Alias divr16s::remu#3 = divr16s::remu#4 
Alias rem16u#21 = rem16u#24 
Successful SSA optimization Pass2AliasElimination
Identical Phi Values print_char_cursor#0 print_char_cursor#18
Identical Phi Values print_char_cursor#69 print_char_cursor#134
Identical Phi Values print_char_cursor#4 print_char_cursor#18
Identical Phi Values print_char_cursor#5 print_char_cursor#18
Identical Phi Values print_char_cursor#6 print_char_cursor#13
Identical Phi Values print_char_cursor#75 print_char_cursor#18
Identical Phi Values print_char_cursor#76 print_char_cursor#18
Identical Phi Values print_char_cursor#10 print_char_cursor#16
Identical Phi Values print_char_cursor#12 print_char_cursor#16
Identical Phi Values print_char_cursor#13 print_char_cursor#16
Identical Phi Values print_char_cursor#15 print_char_cursor#18
Identical Phi Values print_char_cursor#16 print_char_cursor#18
Identical Phi Values print_line_cursor#2 print_screen#5
Identical Phi Values memset::num#1 memset::num#0
Identical Phi Values memset::str#2 memset::str#0
Identical Phi Values memset::c#3 memset::c#0
Identical Phi Values memset::end#1 memset::end#0
Identical Phi Values memset::str#4 memset::str#2
Identical Phi Values memset::c#1 memset::c#3
Identical Phi Values rem8u#0 rem8u#18
Identical Phi Values divr8u::rem#9 divr8u::rem#0
Identical Phi Values divr8u::dividend#4 divr8u::dividend#0
Identical Phi Values divr8u::divisor#5 divr8u::divisor#0
Identical Phi Values divr8u::divisor#1 divr8u::divisor#5
Identical Phi Values divr16u::divisor#2 divr16u::divisor#6
Identical Phi Values div16u::dividend#1 div16u::dividend#0
Identical Phi Values div16u::divisor#1 div16u::divisor#0
Identical Phi Values rem16u#37 rem16u#42
Identical Phi Values rem16u#19 rem16u#0
Identical Phi Values div8s::dividend#1 div8s::dividend#0
Identical Phi Values div8s::divisor#1 div8s::divisor#0
Identical Phi Values rem8u#34 rem8u#41
Identical Phi Values rem8u#19 rem8u#0
Identical Phi Values divr16s::dividend#1 divr16s::dividend#0
Identical Phi Values divr16s::rem#1 divr16s::rem#0
Identical Phi Values divr16s::divisor#1 divr16s::divisor#0
Identical Phi Values rem16u#38 rem16u#39
Identical Phi Values rem16u#21 rem16u#0
Identical Phi Values div16s::dividend#1 div16s::dividend#0
Identical Phi Values div16s::divisor#1 div16s::divisor#0
Identical Phi Values rem16u#39 rem16u#45
Identical Phi Values rem16s#22 rem16s#24
Identical Phi Values rem16u#25 rem16u#21
Identical Phi Values rem16s#13 rem16s#12
Identical Phi Values print_screen#5 print_screen#0
Identical Phi Values print_line_cursor#42 print_screen#0
Identical Phi Values print_char_cursor#143 print_screen#0
Identical Phi Values rem8u#35 rem8u#13
Identical Phi Values rem16u#40 rem16u#15
Identical Phi Values rem8s#18 rem8s#23
Identical Phi Values rem16s#23 rem16s#27
Identical Phi Values print_line_cursor#25 print_line_cursor#2
Identical Phi Values print_char_cursor#22 print_line_cursor#2
Identical Phi Values rem8u#23 rem8u#10
Identical Phi Values print_char_cursor#23 print_char_cursor#101
Identical Phi Values print_line_cursor#26 print_line_cursor#10
Identical Phi Values rem16u#27 rem16u#11
Identical Phi Values print_char_cursor#24 print_char_cursor#110
Identical Phi Values print_line_cursor#27 print_line_cursor#12
Identical Phi Values rem8u#24 rem8u#11
Identical Phi Values rem8s#11 rem8s#13
Identical Phi Values print_char_cursor#25 print_char_cursor#119
Identical Phi Values print_line_cursor#28 print_line_cursor#14
Identical Phi Values rem16u#10 rem16u#13
Identical Phi Values rem16s#15 rem16s#17
Identical Phi Values print_char_cursor#26 print_char_cursor#128
Identical Phi Values print_line_cursor#29 print_line_cursor#16
Identical Phi Values rem8u#47 rem8u#35
Identical Phi Values print_char_cursor#156 print_char_cursor#22
Identical Phi Values print_line_cursor#80 print_line_cursor#25
Identical Phi Values rem8u#10 rem8u#0
Identical Phi Values print_char_cursor#28 print_char_cursor#16
Identical Phi Values print_char_cursor#29 print_char_cursor#1
Identical Phi Values print_char_cursor#30 print_char_cursor#16
Identical Phi Values print_char_cursor#31 print_char_cursor#1
Identical Phi Values print_char_cursor#32 print_char_cursor#16
Identical Phi Values print_char_cursor#33 print_char_cursor#1
Identical Phi Values print_char_cursor#100 print_char_cursor#16
Identical Phi Values print_line_cursor#10 print_line_cursor#0
Identical Phi Values print_char_cursor#101 print_line_cursor#0
Identical Phi Values rem16u#51 rem16u#40
Identical Phi Values print_char_cursor#157 print_char_cursor#23
Identical Phi Values print_line_cursor#81 print_line_cursor#26
Identical Phi Values rem16u#11 rem16u#19
Identical Phi Values print_char_cursor#103 print_char_cursor#13
Identical Phi Values print_char_cursor#104 print_char_cursor#1
Identical Phi Values print_char_cursor#105 print_char_cursor#13
Identical Phi Values print_char_cursor#106 print_char_cursor#1
Identical Phi Values print_char_cursor#107 print_char_cursor#13
Identical Phi Values print_char_cursor#108 print_char_cursor#1
Identical Phi Values print_char_cursor#109 print_char_cursor#13
Identical Phi Values print_line_cursor#12 print_line_cursor#0
Identical Phi Values print_char_cursor#110 print_line_cursor#0
Identical Phi Values rem8u#50 rem8u#23
Identical Phi Values rem8s#25 rem8s#18
Identical Phi Values print_char_cursor#158 print_char_cursor#24
Identical Phi Values print_line_cursor#82 print_line_cursor#27
Identical Phi Values rem8u#11 rem8u#19
Identical Phi Values rem8s#13 rem8s#10
Identical Phi Values print_char_cursor#112 print_char_cursor#10
Identical Phi Values print_char_cursor#113 print_char_cursor#1
Identical Phi Values print_char_cursor#114 print_char_cursor#10
Identical Phi Values print_char_cursor#115 print_char_cursor#1
Identical Phi Values print_char_cursor#116 print_char_cursor#10
Identical Phi Values print_char_cursor#117 print_char_cursor#1
Identical Phi Values print_char_cursor#118 print_char_cursor#10
Identical Phi Values print_line_cursor#14 print_line_cursor#0
Identical Phi Values print_char_cursor#119 print_line_cursor#0
Identical Phi Values rem16u#54 rem16u#27
Identical Phi Values rem16s#29 rem16s#23
Identical Phi Values print_char_cursor#159 print_char_cursor#25
Identical Phi Values print_line_cursor#83 print_line_cursor#28
Identical Phi Values rem16u#13 rem16u#25
Identical Phi Values rem16s#17 rem16s#13
Identical Phi Values print_char_cursor#121 print_char_cursor#6
Identical Phi Values print_char_cursor#122 print_char_cursor#1
Identical Phi Values print_char_cursor#123 print_char_cursor#6
Identical Phi Values print_char_cursor#124 print_char_cursor#1
Identical Phi Values print_char_cursor#125 print_char_cursor#6
Identical Phi Values print_char_cursor#126 print_char_cursor#1
Identical Phi Values print_char_cursor#127 print_char_cursor#6
Identical Phi Values print_line_cursor#16 print_line_cursor#0
Identical Phi Values print_char_cursor#128 print_line_cursor#0
Identical Phi Values print_line_cursor#19 print_line_cursor#29
Identical Phi Values print_char_cursor#130 print_char_cursor#26
Identical Phi Values rem8u#14 rem8u#24
Identical Phi Values rem16u#16 rem16u#10
Identical Phi Values rem8s#16 rem8s#11
Identical Phi Values rem16s#10 rem16s#15
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values print_char_cursor#149 print_char_cursor#18
Identical Phi Values print_char_cursor#134 print_char_cursor#18
Identical Phi Values print_char_cursor#137 print_char_cursor#18
Identical Phi Values print_char_cursor#140 print_char_cursor#18
Identical Phi Values memset::return#1 memset::str#0
Identical Phi Values print_char_cursor#145 print_line_cursor#0
Identical Phi Values print_line_cursor#44 print_line_cursor#0
Identical Phi Values rem8u#41 rem8u#18
Identical Phi Values print_char_cursor#146 print_line_cursor#0
Identical Phi Values print_line_cursor#45 print_line_cursor#0
Identical Phi Values rem16u#45 rem16u#0
Identical Phi Values print_char_cursor#147 print_line_cursor#0
Identical Phi Values print_line_cursor#46 print_line_cursor#0
Successful SSA optimization Pass2IdenticalPhiElimination
Identical Phi Values print_char_cursor#1 print_char_cursor#18
Successful SSA optimization Pass2IdenticalPhiElimination
Identified duplicate assignment right side [443] test_16u::$11 = test_16u::i#10 * SIZEOF_UNSIGNED_INT
Identified duplicate assignment right side [551] test_16s::$11 = test_16s::i#10 * SIZEOF_INT
Successful SSA optimization Pass2DuplicateRValueIdentification
Simple Condition print_str::$1 [3] if(0!=*print_str::str#13) goto print_str::@2
Simple Condition print_ln::$1 [13] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1
Simple Condition print_sint::$0 [17] if(print_sint::w#10<0) goto print_sint::@1
Simple Condition print_schar::$0 [32] if(print_schar::b#10<0) goto print_schar::@1
Simple Condition memset::$1 [76] if(memset::num#0<=0) goto memset::@1
Simple Condition memset::$3 [83] if(memset::dst#2!=memset::end#0) goto memset::@4
Simple Condition divr8u::$3 [103] if(divr8u::$1==0) goto divr8u::@2
Simple Condition divr8u::$8 [108] if(divr8u::rem#5<divr8u::divisor#0) goto divr8u::@3
Simple Condition divr8u::$10 [113] if(divr8u::i#1!=rangelast(0,7)) goto divr8u::@1
Simple Condition divr16u::$4 [126] if(divr16u::$2==0) goto divr16u::@2
Simple Condition divr16u::$9 [131] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3
Simple Condition divr16u::$11 [136] if(divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1
Simple Condition div8s::$0 [154] if(div8s::dividend#0<0) goto div8s::@1
Simple Condition div8s::$1 [162] if(div8s::divisor#0<0) goto div8s::@3
Simple Condition div8s::$3 [175] if(div8s::neg#4==0) goto div8s::@5
Simple Condition divr16s::$3 [200] if(divr16s::divisor#0<0) goto divr16s::@3
Simple Condition divr16s::$5 [214] if(divr16s::neg#4==0) goto divr16s::@5
Simple Condition test_8u::$9 [278] if(test_8u::i#1!=rangelast(0,5)) goto test_8u::@1
Simple Condition test_16u::$9 [318] if(test_16u::i#1!=rangelast(0,5)) goto test_16u::@1
Simple Condition test_8s::$9 [356] if(test_8s::i#1!=rangelast(0,5)) goto test_8s::@1
Simple Condition test_16s::$9 [396] if(test_16s::i#1!=rangelast(0,5)) goto test_16s::@1
Successful SSA optimization Pass2ConditionalJumpSimplification
Rewriting || if()-condition to two if()s [188] divr16s::$2 = divr16s::$0 || divr16s::$1
Successful SSA optimization Pass2ConditionalAndOrRewriting
Constant print_char::ch#1 = '-'
Constant print_char::ch#2 = ' '
Constant print_char::ch#3 = '-'
Constant print_char::ch#4 = ' '
Constant memset::c#0 = ' '
Constant memset::num#0 = $3e8
Constant divr8u::rem#0 = 0
Constant divr8u::quotient#0 = 0
Constant divr8u::i#0 = 0
Constant divr16u::quotient#0 = 0
Constant divr16u::i#0 = 0
Constant divr16u::rem#3 = 0
Constant div8s::neg#0 = 0
Constant div8s::dividendu#0 = 0
Constant div8s::neg#1 = 1
Constant div8s::divisoru#0 = 0
Constant divr16s::neg#0 = 0
Constant divr16s::dividendu#0 = 0
Constant divr16s::remu#0 = 0
Constant divr16s::neg#1 = 1
Constant divr16s::divisoru#0 = 0
Constant divr16s::rem#0 = 0
Constant test_8u::i#0 = 0
Constant print_str::str#1 = test_8u::str
Constant print_str::str#2 = test_8u::str1
Constant print_str::str#3 = test_8u::str2
Constant test_16u::i#0 = 0
Constant print_str::str#4 = test_16u::str
Constant print_str::str#5 = test_16u::str1
Constant print_str::str#6 = test_16u::str2
Constant test_8s::i#0 = 0
Constant print_str::str#7 = test_8s::str
Constant print_str::str#8 = test_8s::str1
Constant print_str::str#9 = test_8s::str2
Constant test_16s::i#0 = 0
Constant print_str::str#10 = test_16s::str
Constant print_str::str#11 = test_16s::str1
Constant print_str::str#12 = test_16s::str2
Constant print_screen#0 = (char *) 1024
Constant rem8u#13 = 0
Constant rem16u#15 = 0
Constant rem8s#23 = 0
Constant rem16s#27 = 0
Successful SSA optimization Pass2ConstantIdentification
Constant memset::str#0 = (void *)print_screen#0
Constant divr16s::remu#2 = (unsigned int)divr16s::rem#0
Successful SSA optimization Pass2ConstantIdentification
Constant memset::return#0 = memset::str#0
Constant memset::$4 = (char *)memset::str#0
Constant memset::dst#0 = (char *)memset::str#0
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [76] if(memset::num#0<=0) goto memset::@1
Successful SSA optimization Pass2ConstantIfs
Consolidated constant strings into str
Consolidated constant strings into str1
Consolidated constant strings into str2
Successful SSA optimization Pass2ConstantStringConsolidation
Resolved ranged next value [111] divr8u::i#1 = ++ divr8u::i#2 to ++
Resolved ranged comparison value [113] if(divr8u::i#1!=rangelast(0,7)) goto divr8u::@1 to 8
Resolved ranged next value [134] divr16u::i#1 = ++ divr16u::i#2 to ++
Resolved ranged comparison value [136] if(divr16u::i#1!=rangelast(0,$f)) goto divr16u::@1 to $10
Resolved ranged next value [276] test_8u::i#1 = ++ test_8u::i#10 to ++
Resolved ranged comparison value [278] if(test_8u::i#1!=rangelast(0,5)) goto test_8u::@1 to 6
Resolved ranged next value [316] test_16u::i#1 = ++ test_16u::i#10 to ++
Resolved ranged comparison value [318] if(test_16u::i#1!=rangelast(0,5)) goto test_16u::@1 to 6
Resolved ranged next value [354] test_8s::i#1 = ++ test_8s::i#10 to ++
Resolved ranged comparison value [356] if(test_8s::i#1!=rangelast(0,5)) goto test_8s::@1 to 6
Resolved ranged next value [394] test_16s::i#1 = ++ test_16s::i#10 to ++
Resolved ranged comparison value [396] if(test_16s::i#1!=rangelast(0,5)) goto test_16s::@1 to 6
Simplifying constant evaluating to zero (unsigned int)divr16s::rem#0 in 
Successful SSA optimization PassNSimplifyConstantZero
Eliminating unused variable - keeping the phi block rem8u#33
Eliminating unused variable - keeping the phi block rem16u#42
Eliminating unused variable - keeping the phi block rem8s#20
Eliminating unused variable - keeping the phi block rem16s#24
Eliminating unused constant memset::return#0
Eliminating unused constant div8s::dividendu#0
Eliminating unused constant div8s::divisoru#0
Eliminating unused constant divr16s::dividendu#0
Eliminating unused constant divr16s::remu#0
Eliminating unused constant divr16s::divisoru#0
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused variable - keeping the phi block rem8u#38
Eliminating unused constant rem16u#15
Eliminating unused constant rem8s#23
Eliminating unused constant rem16s#27
Successful SSA optimization PassNEliminateUnusedVars
Eliminating unused constant rem8u#13
Successful SSA optimization PassNEliminateUnusedVars
Removing unused procedure __start
Removing unused procedure block __start
Removing unused procedure block __start::__init1
Removing unused procedure block __start::@1
Removing unused procedure block __start::@2
Removing unused procedure block __start::@return
Successful SSA optimization PassNEliminateEmptyStart
Adding number conversion cast (unumber) 8 in [74] if(divr8u::i#1!=8) goto divr8u::@1
Adding number conversion cast (unumber) $10 in [92] if(divr16u::i#1!=$10) goto divr16u::@1
Adding number conversion cast (unumber) 6 in [187] if(test_8u::i#1!=6) goto test_8u::@1
Adding number conversion cast (unumber) 6 in [212] if(test_16u::i#1!=6) goto test_16u::@1
Adding number conversion cast (unumber) 6 in [235] if(test_8s::i#1!=6) goto test_8s::@1
Adding number conversion cast (unumber) 6 in [260] if(test_16s::i#1!=6) goto test_16s::@1
Successful SSA optimization PassNAddNumberTypeConversions
Simplifying constant integer cast 8
Simplifying constant integer cast $10
Simplifying constant integer cast 6
Simplifying constant integer cast 6
Simplifying constant integer cast 6
Simplifying constant integer cast 6
Successful SSA optimization PassNCastSimplification
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $10
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) 6
Finalized unsigned number type (char) 6
Successful SSA optimization PassNFinalizeNumberTypeConversions
Alias test_16u::$11 = test_16u::$10 
Alias test_16s::$11 = test_16s::$10 
Successful SSA optimization Pass2AliasElimination
Simple Condition divr16s::$0 [128] if(divr16s::dividend#0<0) goto divr16s::@1
Simple Condition divr16s::$1 [260] if(divr16s::rem#0<0) goto divr16s::@1
Successful SSA optimization Pass2ConditionalJumpSimplification
Constant right-side identified [50] memset::end#0 = memset::$4 + memset::num#0
Constant right-side identified [131] divr16s::$7 = - divr16s::rem#0
Successful SSA optimization Pass2ConstantRValueConsolidation
Constant memset::end#0 = memset::$4+memset::num#0
Constant divr16s::$7 = -divr16s::rem#0
Successful SSA optimization Pass2ConstantIdentification
Constant divr16s::remu#1 = (unsigned int)divr16s::$7
Successful SSA optimization Pass2ConstantIdentification
if() condition always false - eliminating [260] if(divr16s::rem#0<0) goto divr16s::@1
Successful SSA optimization Pass2ConstantIfs
Simplifying constant evaluating to zero -divr16s::rem#0 in 
Simplifying constant evaluating to zero (unsigned int)divr16s::$7 in 
Successful SSA optimization PassNSimplifyConstantZero
Eliminating unused constant divr16s::rem#0
Eliminating unused constant divr16s::$7
Successful SSA optimization PassNEliminateUnusedVars
Inlining Noop Cast [104] div8s::dividendu#1 = (char)div8s::$4 keeping div8s::dividendu#1
Inlining Noop Cast [109] div8s::divisoru#1 = (char)div8s::$5 keeping div8s::divisoru#1
Inlining Noop Cast [127] divr16s::dividendu#1 = (unsigned int)divr16s::$6 keeping divr16s::dividendu#1
Inlining Noop Cast [132] divr16s::divisoru#1 = (unsigned int)divr16s::$8 keeping divr16s::divisoru#1
Successful SSA optimization Pass2NopCastInlining
Inlining Noop Cast [105] div8s::dividendu#2 = (char)div8s::dividend#0 keeping div8s::dividend#0
Inlining Noop Cast [111] div8s::divisoru#2 = (char)div8s::divisor#0 keeping div8s::divisor#0
Inlining Noop Cast [119] rem8s#0 = (signed char)rem8u#18 keeping rem8u#18
Inlining Noop Cast [120] div8s::return#0 = (signed char)div8s::resultu#0 keeping div8s::resultu#0
Inlining Noop Cast [128] divr16s::dividendu#2 = (unsigned int)divr16s::dividend#0 keeping divr16s::dividend#0
Inlining Noop Cast [134] divr16s::divisoru#2 = (unsigned int)divr16s::divisor#0 keeping divr16s::divisor#0
Inlining Noop Cast [143] rem16s#0 = (int)rem16u#0 keeping rem16u#0
Inlining Noop Cast [144] divr16s::return#0 = (int)divr16s::resultu#0 keeping divr16s::resultu#0
Successful SSA optimization Pass2NopCastInlining
Rewriting multiplication to use shift [185] test_16u::$11 = test_16u::i#10 * SIZEOF_UNSIGNED_INT
Rewriting multiplication to use shift [232] test_16s::$11 = test_16s::i#10 * SIZEOF_INT
Successful SSA optimization Pass2MultiplyToShiftRewriting
Inlining constant with var siblings print_str::str#1
Inlining constant with var siblings print_str::str#2
Inlining constant with var siblings print_str::str#3
Inlining constant with var siblings print_str::str#4
Inlining constant with var siblings print_str::str#5
Inlining constant with var siblings print_str::str#6
Inlining constant with var siblings print_str::str#7
Inlining constant with var siblings print_str::str#8
Inlining constant with var siblings print_str::str#9
Inlining constant with var siblings print_str::str#10
Inlining constant with var siblings print_str::str#11
Inlining constant with var siblings print_str::str#12
Inlining constant with var siblings print_char::ch#1
Inlining constant with var siblings print_char::ch#2
Inlining constant with var siblings print_char::ch#3
Inlining constant with var siblings print_char::ch#4
Inlining constant with var siblings memset::dst#0
Inlining constant with var siblings divr8u::rem#0
Inlining constant with var siblings divr8u::quotient#0
Inlining constant with var siblings divr8u::i#0
Inlining constant with var siblings divr16u::quotient#0
Inlining constant with var siblings divr16u::i#0
Inlining constant with var siblings divr16u::rem#3
Inlining constant with var siblings div8s::neg#0
Inlining constant with var siblings div8s::neg#1
Inlining constant with var siblings divr16s::neg#0
Inlining constant with var siblings divr16s::neg#1
Inlining constant with var siblings divr16s::remu#2
Inlining constant with var siblings divr16s::remu#1
Inlining constant with var siblings test_8u::i#0
Inlining constant with var siblings test_16u::i#0
Inlining constant with var siblings test_8s::i#0
Inlining constant with var siblings test_16s::i#0
Constant inlined divr16u::rem#3 = 0
Constant inlined test_16s::str = str
Constant inlined test_8s::str1 = str1
Constant inlined divr16u::i#0 = 0
Constant inlined test_8s::str2 = str2
Constant inlined print_str::str#12 = str2
Constant inlined print_str::str#11 = str1
Constant inlined print_str::str#10 = str
Constant inlined divr16s::neg#1 = 1
Constant inlined divr8u::i#0 = 0
Constant inlined divr16s::neg#0 = 0
Constant inlined test_16u::i#0 = 0
Constant inlined test_8u::str2 = str2
Constant inlined divr16u::quotient#0 = 0
Constant inlined test_8u::str1 = str1
Constant inlined memset::$4 = (char *)memset::str#0
Constant inlined test_8u::i#0 = 0
Constant inlined test_8s::str = str
Constant inlined test_16s::str1 = str1
Constant inlined test_16s::str2 = str2
Constant inlined test_16s::i#0 = 0
Constant inlined divr8u::rem#0 = 0
Constant inlined print_char::ch#3 = '-'
Constant inlined divr8u::quotient#0 = 0
Constant inlined test_16u::str1 = str1
Constant inlined print_char::ch#2 = ' '
Constant inlined test_16u::str = str
Constant inlined print_str::str#9 = str2
Constant inlined print_char::ch#4 = ' '
Constant inlined test_16u::str2 = str2
Constant inlined print_char::ch#1 = '-'
Constant inlined print_str::str#4 = str
Constant inlined print_str::str#3 = str2
Constant inlined div8s::neg#1 = 1
Constant inlined print_str::str#2 = str1
Constant inlined memset::dst#0 = (char *)memset::str#0
Constant inlined div8s::neg#0 = 0
Constant inlined print_str::str#1 = str
Constant inlined print_str::str#8 = str1
Constant inlined print_str::str#7 = str
Constant inlined test_8u::str = str
Constant inlined print_str::str#6 = str2
Constant inlined divr16s::remu#1 = 0
Constant inlined test_8s::i#0 = 0
Constant inlined print_str::str#5 = str1
Constant inlined divr16s::remu#2 = 0
Successful SSA optimization Pass2ConstantInlining
Identical Phi Values divr16s::remu#3 0
Successful SSA optimization Pass2IdenticalPhiElimination
Constant divr16u::rem#4 = 0
Successful SSA optimization Pass2ConstantIdentification
Eliminating unused constant SIZEOF_UNSIGNED_INT
Eliminating unused constant SIZEOF_INT
Successful SSA optimization PassNEliminateUnusedVars
Inlining constant with var siblings divr16u::rem#4
Constant inlined divr16u::rem#4 = 0
Successful SSA optimization Pass2ConstantInlining
Identical Phi Values divr16u::rem#10 0
Successful SSA optimization Pass2IdenticalPhiElimination
Finalized unsigned number type (char) 2
Finalized unsigned number type (char) 8
Finalized unsigned number type (char) $a
Finalized unsigned number type (char) $10
Successful SSA optimization PassNFinalizeNumberTypeConversions
Added new block during phi lifting print_ln::@3(between print_ln::@1 and print_ln::@1)
Added new block during phi lifting divr8u::@7(between divr8u::@3 and divr8u::@1)
Added new block during phi lifting divr8u::@8(between divr8u::@1 and divr8u::@2)
Added new block during phi lifting divr8u::@9(between divr8u::@2 and divr8u::@3)
Added new block during phi lifting divr16u::@7(between divr16u::@3 and divr16u::@1)
Added new block during phi lifting divr16u::@8(between divr16u::@1 and divr16u::@2)
Added new block during phi lifting divr16u::@9(between divr16u::@2 and divr16u::@3)
Added new block during phi lifting test_8u::@11(between test_8u::@10 and test_8u::@1)
Added new block during phi lifting test_16u::@11(between test_16u::@10 and test_16u::@1)
Added new block during phi lifting test_8s::@11(between test_8s::@10 and test_8s::@1)
Added new block during phi lifting test_16s::@11(between test_16s::@10 and test_16s::@1)
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@1
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 print_cls
Adding NOP phi() at start of print_cls::@1
Adding NOP phi() at start of test_8u
Adding NOP phi() at start of test_8u::@3
Adding NOP phi() at start of test_8u::@5
Adding NOP phi() at start of test_8u::@7
Adding NOP phi() at start of test_16u
Adding NOP phi() at start of test_16u::@3
Adding NOP phi() at start of test_16u::@5
Adding NOP phi() at start of test_16u::@7
Adding NOP phi() at start of test_8s
Adding NOP phi() at start of test_8s::@3
Adding NOP phi() at start of test_8s::@5
Adding NOP phi() at start of test_8s::@7
Adding NOP phi() at start of test_16s
Adding NOP phi() at start of test_16s::@3
Adding NOP phi() at start of test_16s::@5
Adding NOP phi() at start of test_16s::@7
Adding NOP phi() at start of memset
Adding NOP phi() at start of memset::@2
Adding NOP phi() at start of memset::@1
Adding NOP phi() at start of print_uchar::@2
Adding NOP phi() at start of print_ln::@2
Adding NOP phi() at start of print_uint::@2
Adding NOP phi() at start of print_schar::@6
Adding NOP phi() at start of print_sint::@6
Adding NOP phi() at start of divr16s::@10
CALL GRAPH
Calls in [main] to print_cls:1 test_8u:3 test_16u:5 test_8s:7 test_16s:9 
Calls in [print_cls] to memset:13 
Calls in [test_8u] to div8u:24 print_uchar:30 print_str:32 print_uchar:36 print_str:38 print_uchar:42 print_str:44 print_uchar:48 print_ln:50 
Calls in [test_16u] to div16u:64 print_uint:70 print_str:72 print_uint:76 print_str:78 print_uint:82 print_str:84 print_uint:88 print_ln:90 
Calls in [test_8s] to div8s:101 print_schar:107 print_str:109 print_schar:113 print_str:115 print_schar:119 print_str:121 print_schar:125 print_ln:127 
Calls in [test_16s] to div16s:139 print_sint:145 print_str:147 print_sint:151 print_str:153 print_sint:157 print_str:159 print_sint:163 print_ln:165 
Calls in [div8u] to divr8u:182 
Calls in [print_uchar] to print_char:191 print_char:196 
Calls in [print_str] to print_char:207 
Calls in [div16u] to divr16u:222 
Calls in [print_uint] to print_uchar:230 print_uchar:234 
Calls in [div8s] to div8u:248 
Calls in [print_schar] to print_char:269 print_uchar:275 print_char:279 
Calls in [div16s] to divr16s:284 
Calls in [print_sint] to print_char:291 print_uint:297 print_char:301 
Calls in [divr16s] to divr16u:376 

Created 53 initial phi equivalence classes
Coalesced [22] div8u::dividend#4 = div8u::dividend#1
Coalesced [23] div8u::divisor#4 = div8u::divisor#1
Coalesced [28] print_uchar::b#12 = print_uchar::b#3
Coalesced [29] print_char_cursor#176 = print_char_cursor#144
Coalesced [34] print_uchar::b#13 = print_uchar::b#4
Coalesced [35] print_char_cursor#177 = print_char_cursor#18
Coalesced [40] print_uchar::b#14 = print_uchar::b#5
Coalesced (already) [41] print_char_cursor#178 = print_char_cursor#18
Coalesced [46] print_uchar::b#15 = print_uchar::b#6
Coalesced (already) [47] print_char_cursor#179 = print_char_cursor#18
Coalesced [49] print_line_cursor#87 = print_line_cursor#43
Coalesced [54] test_8u::i#12 = test_8u::i#1
Not coalescing [55] print_char_cursor#187 = print_line_cursor#0
Coalesced [56] print_line_cursor#90 = print_line_cursor#0
Coalesced [68] print_uint::w#8 = print_uint::w#1
Not coalescing [69] print_char_cursor#169 = print_line_cursor#0
Coalesced [74] print_uint::w#9 = print_uint::w#2
Coalesced [75] print_char_cursor#170 = print_char_cursor#18
Coalesced [80] print_uint::w#10 = print_uint::w#3
Coalesced (already) [81] print_char_cursor#171 = print_char_cursor#18
Coalesced [86] print_uint::w#11 = print_uint::w#4
Coalesced (already) [87] print_char_cursor#172 = print_char_cursor#18
Coalesced (already) [89] print_line_cursor#85 = print_line_cursor#0
Coalesced [94] test_16u::i#12 = test_16u::i#1
Coalesced [105] print_schar::b#11 = print_schar::b#1
Not coalescing [106] print_char_cursor#164 = print_line_cursor#0
Coalesced [111] print_schar::b#12 = print_schar::b#2
Coalesced [112] print_char_cursor#165 = print_char_cursor#18
Coalesced [117] print_schar::b#13 = print_schar::b#3
Coalesced (already) [118] print_char_cursor#166 = print_char_cursor#18
Coalesced [123] print_schar::b#14 = print_schar::b#4
Coalesced (already) [124] print_char_cursor#167 = print_char_cursor#18
Coalesced (already) [126] print_line_cursor#86 = print_line_cursor#0
Coalesced [131] test_8s::i#12 = test_8s::i#1
Coalesced [143] print_sint::w#11 = print_sint::w#1
Not coalescing [144] print_char_cursor#160 = print_line_cursor#0
Coalesced [149] print_sint::w#12 = print_sint::w#2
Coalesced [150] print_char_cursor#161 = print_char_cursor#18
Coalesced [155] print_sint::w#13 = print_sint::w#3
Coalesced (already) [156] print_char_cursor#162 = print_char_cursor#18
Coalesced [161] print_sint::w#14 = print_sint::w#4
Coalesced (already) [162] print_char_cursor#163 = print_char_cursor#18
Coalesced (already) [164] print_line_cursor#84 = print_line_cursor#0
Coalesced [169] test_16s::i#12 = test_16s::i#1
Coalesced [178] memset::dst#4 = memset::dst#1
Coalesced [189] print_char::ch#9 = print_char::ch#5
Coalesced [190] print_char_cursor#185 = print_char_cursor#142
Coalesced [194] print_char::ch#10 = print_char::ch#6
Coalesced (already) [195] print_char_cursor#186 = print_char_cursor#18
Coalesced [200] print_str::str#17 = print_str::str#16
Coalesced [205] print_char::ch#8 = print_char::ch#0
Coalesced (already) [206] print_char_cursor#184 = print_char_cursor#18
Coalesced [209] print_str::str#18 = print_str::str#0
Coalesced [211] print_line_cursor#88 = print_line_cursor#41
Coalesced (already) [217] print_line_cursor#89 = print_line_cursor#0
Coalesced [220] divr16u::dividend#9 = divr16u::dividend#1
Coalesced [221] divr16u::divisor#8 = divr16u::divisor#0
Coalesced [228] print_uchar::b#10 = print_uchar::b#1
Coalesced (already) [229] print_char_cursor#174 = print_char_cursor#141
Coalesced [232] print_uchar::b#11 = print_uchar::b#2
Coalesced (already) [233] print_char_cursor#175 = print_char_cursor#18
Coalesced [242] div8s::neg#10 = div8s::neg#3
Coalesced [246] div8u::dividend#3 = div8u::dividend#0
Coalesced [247] div8u::divisor#3 = div8u::divisor#0
Coalesced [254] div8s::return#7 = div8s::return#1
Coalesced [255] rem8s#34 = rem8s#1
Coalesced [263] div8s::neg#9 = div8s::neg#2
Coalesced (already) [268] print_char_cursor#181 = print_char_cursor#138
Coalesced [270] print_schar::b#16 = print_schar::b#10
Coalesced [273] print_uchar::b#9 = print_uchar::b#0
Coalesced (already) [274] print_char_cursor#173 = print_char_cursor#18
Coalesced (already) [278] print_char_cursor#180 = print_char_cursor#138
Coalesced [281] print_schar::b#15 = print_schar::b#0
Coalesced (already) [290] print_char_cursor#183 = print_char_cursor#135
Coalesced [292] print_sint::w#16 = print_sint::w#10
Coalesced [295] print_uint::w#7 = print_uint::w#0
Coalesced (already) [296] print_char_cursor#168 = print_char_cursor#18
Coalesced (already) [300] print_char_cursor#182 = print_char_cursor#135
Coalesced [303] print_sint::w#15 = print_sint::w#0
Coalesced [304] divr8u::dividend#8 = divr8u::dividend#0
Coalesced [310] divr8u::rem#13 = divr8u::rem#2
Coalesced [317] divr8u::rem#15 = divr8u::rem#3
Coalesced [318] divr8u::return#6 = divr8u::quotient#2
Coalesced [324] divr8u::rem#11 = divr8u::rem#10
Coalesced [325] divr8u::dividend#9 = divr8u::dividend#1
Coalesced [326] divr8u::quotient#9 = divr8u::return#1
Coalesced [327] divr8u::i#7 = divr8u::i#1
Coalesced [328] divr8u::rem#14 = divr8u::rem#5
Coalesced [329] divr8u::return#5 = divr8u::quotient#1
Coalesced [330] divr8u::rem#12 = divr8u::rem#1
Coalesced [336] divr16u::dividend#11 = divr16u::dividend#5
Coalesced [343] divr16u::rem#14 = divr16u::rem#1
Coalesced [350] divr16u::rem#16 = divr16u::rem#2
Coalesced [351] divr16u::return#8 = divr16u::quotient#2
Coalesced [357] divr16u::rem#12 = divr16u::rem#11
Coalesced [358] divr16u::dividend#12 = divr16u::dividend#0
Coalesced [359] divr16u::quotient#9 = divr16u::return#0
Coalesced [360] divr16u::i#7 = divr16u::i#1
Coalesced [361] divr16u::rem#15 = divr16u::rem#6
Coalesced [362] divr16u::return#7 = divr16u::quotient#1
Coalesced [363] divr16u::rem#13 = divr16u::rem#0
Coalesced [370] divr16s::neg#10 = divr16s::neg#3
Coalesced [374] divr16u::dividend#10 = divr16u::dividend#2
Coalesced [375] divr16u::divisor#9 = divr16u::divisor#1
Coalesced [382] divr16s::return#7 = divr16s::return#1
Coalesced [383] rem16s#39 = rem16s#1
Coalesced [391] divr16s::neg#9 = divr16s::neg#2
Coalesced down to 34 phi equivalence classes
Culled Empty Block label main::@5
Culled Empty Block label print_cls::@1
Culled Empty Block label test_16u::@11
Culled Empty Block label test_8s::@11
Culled Empty Block label test_16s::@11
Culled Empty Block label memset::@2
Culled Empty Block label memset::@1
Culled Empty Block label print_uchar::@2
Culled Empty Block label print_ln::@2
Culled Empty Block label print_ln::@3
Culled Empty Block label print_uint::@2
Culled Empty Block label print_schar::@5
Culled Empty Block label print_schar::@6
Culled Empty Block label print_sint::@5
Culled Empty Block label print_sint::@6
Culled Empty Block label divr8u::@7
Culled Empty Block label divr8u::@9
Culled Empty Block label divr8u::@8
Culled Empty Block label divr16u::@7
Culled Empty Block label divr16u::@9
Culled Empty Block label divr16u::@8
Culled Empty Block label divr16s::@10
Renumbering block memset::@3 to memset::@1
Renumbering block memset::@4 to memset::@2
Adding NOP phi() at start of main
Adding NOP phi() at start of main::@1
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 print_cls
Adding NOP phi() at start of test_8u
Adding NOP phi() at start of test_8u::@3
Adding NOP phi() at start of test_8u::@5
Adding NOP phi() at start of test_8u::@7
Adding NOP phi() at start of test_8u::@9
Adding NOP phi() at start of test_16u
Adding NOP phi() at start of test_16u::@3
Adding NOP phi() at start of test_16u::@5
Adding NOP phi() at start of test_16u::@7
Adding NOP phi() at start of test_16u::@9
Adding NOP phi() at start of test_8s
Adding NOP phi() at start of test_8s::@3
Adding NOP phi() at start of test_8s::@5
Adding NOP phi() at start of test_8s::@7
Adding NOP phi() at start of test_8s::@9
Adding NOP phi() at start of test_16s
Adding NOP phi() at start of test_16s::@3
Adding NOP phi() at start of test_16s::@5
Adding NOP phi() at start of test_16s::@7
Adding NOP phi() at start of test_16s::@9
Adding NOP phi() at start of memset
Adding NOP phi() at start of print_schar::@3
Adding NOP phi() at start of print_schar::@1
Adding NOP phi() at start of print_sint::@3
Adding NOP phi() at start of print_sint::@1
Adding NOP phi() at start of divr8u

FINAL CONTROL FLOW GRAPH

void main()
main: scope:[main]  from
  [0] phi()
  [1] call print_cls
  to:main::@1
main::@1: scope:[main]  from main
  [2] phi()
  [3] call test_8u
  to:main::@2
main::@2: scope:[main]  from main::@1
  [4] phi()
  [5] call test_16u
  to:main::@3
main::@3: scope:[main]  from main::@2
  [6] phi()
  [7] call test_8s
  to:main::@4
main::@4: scope:[main]  from main::@3
  [8] phi()
  [9] call test_16s
  to:main::@return
main::@return: scope:[main]  from main::@4
  [10] return 
  to:@return

void print_cls()
print_cls: scope:[print_cls]  from main
  [11] phi()
  [12] call memset
  to:print_cls::@return
print_cls::@return: scope:[print_cls]  from print_cls
  [13] return 
  to:@return

void test_8u()
test_8u: scope:[test_8u]  from main::@1
  [14] phi()
  to:test_8u::@1
test_8u::@1: scope:[test_8u]  from test_8u test_8u::@11
  [15] print_line_cursor#43 = phi( test_8u/print_screen#0, test_8u::@11/print_line_cursor#0 )
  [15] print_char_cursor#144 = phi( test_8u/print_screen#0, test_8u::@11/print_char_cursor#187 )
  [15] test_8u::i#10 = phi( test_8u/0, test_8u::@11/test_8u::i#1 )
  [16] test_8u::dividend#0 = test_8u::dividends[test_8u::i#10]
  [17] test_8u::divisor#0 = test_8u::divisors[test_8u::i#10]
  [18] div8u::dividend#1 = test_8u::dividend#0
  [19] div8u::divisor#1 = test_8u::divisor#0
  [20] call div8u
  [21] div8u::return#3 = div8u::return#0
  to:test_8u::@2
test_8u::@2: scope:[test_8u]  from test_8u::@1
  [22] test_8u::res#0 = div8u::return#3
  [23] print_uchar::b#3 = test_8u::dividend#0
  [24] call print_uchar
  to:test_8u::@3
test_8u::@3: scope:[test_8u]  from test_8u::@2
  [25] phi()
  [26] call print_str
  to:test_8u::@4
test_8u::@4: scope:[test_8u]  from test_8u::@3
  [27] print_uchar::b#4 = test_8u::divisor#0
  [28] call print_uchar
  to:test_8u::@5
test_8u::@5: scope:[test_8u]  from test_8u::@4
  [29] phi()
  [30] call print_str
  to:test_8u::@6
test_8u::@6: scope:[test_8u]  from test_8u::@5
  [31] print_uchar::b#5 = test_8u::res#0
  [32] call print_uchar
  to:test_8u::@7
test_8u::@7: scope:[test_8u]  from test_8u::@6
  [33] phi()
  [34] call print_str
  to:test_8u::@8
test_8u::@8: scope:[test_8u]  from test_8u::@7
  [35] print_uchar::b#6 = rem8u#18
  [36] call print_uchar
  to:test_8u::@9
test_8u::@9: scope:[test_8u]  from test_8u::@8
  [37] phi()
  [38] call print_ln
  to:test_8u::@10
test_8u::@10: scope:[test_8u]  from test_8u::@9
  [39] test_8u::i#1 = ++ test_8u::i#10
  [40] if(test_8u::i#1!=6) goto test_8u::@11
  to:test_8u::@return
test_8u::@return: scope:[test_8u]  from test_8u::@10
  [41] return 
  to:@return
test_8u::@11: scope:[test_8u]  from test_8u::@10
  [42] print_char_cursor#187 = print_line_cursor#0
  to:test_8u::@1

void test_16u()
test_16u: scope:[test_16u]  from main::@2
  [43] phi()
  to:test_16u::@1
test_16u::@1: scope:[test_16u]  from test_16u test_16u::@10
  [44] test_16u::i#10 = phi( test_16u/0, test_16u::@10/test_16u::i#1 )
  [45] test_16u::$11 = test_16u::i#10 << 1
  [46] test_16u::dividend#0 = test_16u::dividends[test_16u::$11]
  [47] test_16u::divisor#0 = test_16u::divisors[test_16u::$11]
  [48] div16u::dividend#0 = test_16u::dividend#0
  [49] div16u::divisor#0 = test_16u::divisor#0
  [50] call div16u
  [51] div16u::return#2 = div16u::return#0
  to:test_16u::@2
test_16u::@2: scope:[test_16u]  from test_16u::@1
  [52] test_16u::res#0 = div16u::return#2
  [53] print_uint::w#1 = test_16u::dividend#0
  [54] print_char_cursor#169 = print_line_cursor#0
  [55] call print_uint
  to:test_16u::@3
test_16u::@3: scope:[test_16u]  from test_16u::@2
  [56] phi()
  [57] call print_str
  to:test_16u::@4
test_16u::@4: scope:[test_16u]  from test_16u::@3
  [58] print_uint::w#2 = test_16u::divisor#0
  [59] call print_uint
  to:test_16u::@5
test_16u::@5: scope:[test_16u]  from test_16u::@4
  [60] phi()
  [61] call print_str
  to:test_16u::@6
test_16u::@6: scope:[test_16u]  from test_16u::@5
  [62] print_uint::w#3 = test_16u::res#0
  [63] call print_uint
  to:test_16u::@7
test_16u::@7: scope:[test_16u]  from test_16u::@6
  [64] phi()
  [65] call print_str
  to:test_16u::@8
test_16u::@8: scope:[test_16u]  from test_16u::@7
  [66] print_uint::w#4 = rem16u#0
  [67] call print_uint
  to:test_16u::@9
test_16u::@9: scope:[test_16u]  from test_16u::@8
  [68] phi()
  [69] call print_ln
  to:test_16u::@10
test_16u::@10: scope:[test_16u]  from test_16u::@9
  [70] test_16u::i#1 = ++ test_16u::i#10
  [71] if(test_16u::i#1!=6) goto test_16u::@1
  to:test_16u::@return
test_16u::@return: scope:[test_16u]  from test_16u::@10
  [72] return 
  to:@return

void test_8s()
test_8s: scope:[test_8s]  from main::@3
  [73] phi()
  to:test_8s::@1
test_8s::@1: scope:[test_8s]  from test_8s test_8s::@10
  [74] test_8s::i#10 = phi( test_8s/0, test_8s::@10/test_8s::i#1 )
  [75] test_8s::dividend#0 = test_8s::dividends[test_8s::i#10]
  [76] test_8s::divisor#0 = test_8s::divisors[test_8s::i#10]
  [77] div8s::dividend#0 = test_8s::dividend#0
  [78] div8s::divisor#0 = test_8s::divisor#0
  [79] call div8s
  [80] div8s::return#3 = div8s::return#2
  to:test_8s::@2
test_8s::@2: scope:[test_8s]  from test_8s::@1
  [81] test_8s::res#0 = div8s::return#3
  [82] print_schar::b#1 = test_8s::dividend#0
  [83] print_char_cursor#164 = print_line_cursor#0
  [84] call print_schar
  to:test_8s::@3
test_8s::@3: scope:[test_8s]  from test_8s::@2
  [85] phi()
  [86] call print_str
  to:test_8s::@4
test_8s::@4: scope:[test_8s]  from test_8s::@3
  [87] print_schar::b#2 = test_8s::divisor#0
  [88] call print_schar
  to:test_8s::@5
test_8s::@5: scope:[test_8s]  from test_8s::@4
  [89] phi()
  [90] call print_str
  to:test_8s::@6
test_8s::@6: scope:[test_8s]  from test_8s::@5
  [91] print_schar::b#3 = test_8s::res#0
  [92] call print_schar
  to:test_8s::@7
test_8s::@7: scope:[test_8s]  from test_8s::@6
  [93] phi()
  [94] call print_str
  to:test_8s::@8
test_8s::@8: scope:[test_8s]  from test_8s::@7
  [95] print_schar::b#4 = rem8s#10
  [96] call print_schar
  to:test_8s::@9
test_8s::@9: scope:[test_8s]  from test_8s::@8
  [97] phi()
  [98] call print_ln
  to:test_8s::@10
test_8s::@10: scope:[test_8s]  from test_8s::@9
  [99] test_8s::i#1 = ++ test_8s::i#10
  [100] if(test_8s::i#1!=6) goto test_8s::@1
  to:test_8s::@return
test_8s::@return: scope:[test_8s]  from test_8s::@10
  [101] return 
  to:@return

void test_16s()
test_16s: scope:[test_16s]  from main::@4
  [102] phi()
  to:test_16s::@1
test_16s::@1: scope:[test_16s]  from test_16s test_16s::@10
  [103] test_16s::i#10 = phi( test_16s/0, test_16s::@10/test_16s::i#1 )
  [104] test_16s::$11 = test_16s::i#10 << 1
  [105] test_16s::dividend#0 = test_16s::dividends[test_16s::$11]
  [106] test_16s::divisor#0 = test_16s::divisors[test_16s::$11]
  [107] div16s::dividend#0 = test_16s::dividend#0
  [108] div16s::divisor#0 = test_16s::divisor#0
  [109] call div16s
  [110] div16s::return#2 = div16s::return#0
  to:test_16s::@2
test_16s::@2: scope:[test_16s]  from test_16s::@1
  [111] test_16s::res#0 = div16s::return#2
  [112] print_sint::w#1 = test_16s::dividend#0
  [113] print_char_cursor#160 = print_line_cursor#0
  [114] call print_sint
  to:test_16s::@3
test_16s::@3: scope:[test_16s]  from test_16s::@2
  [115] phi()
  [116] call print_str
  to:test_16s::@4
test_16s::@4: scope:[test_16s]  from test_16s::@3
  [117] print_sint::w#2 = test_16s::divisor#0
  [118] call print_sint
  to:test_16s::@5
test_16s::@5: scope:[test_16s]  from test_16s::@4
  [119] phi()
  [120] call print_str
  to:test_16s::@6
test_16s::@6: scope:[test_16s]  from test_16s::@5
  [121] print_sint::w#3 = test_16s::res#0
  [122] call print_sint
  to:test_16s::@7
test_16s::@7: scope:[test_16s]  from test_16s::@6
  [123] phi()
  [124] call print_str
  to:test_16s::@8
test_16s::@8: scope:[test_16s]  from test_16s::@7
  [125] print_sint::w#4 = rem16s#12
  [126] call print_sint
  to:test_16s::@9
test_16s::@9: scope:[test_16s]  from test_16s::@8
  [127] phi()
  [128] call print_ln
  to:test_16s::@10
test_16s::@10: scope:[test_16s]  from test_16s::@9
  [129] test_16s::i#1 = ++ test_16s::i#10
  [130] if(test_16s::i#1!=6) goto test_16s::@1
  to:test_16s::@return
test_16s::@return: scope:[test_16s]  from test_16s::@10
  [131] return 
  to:@return

void * memset(void *str , char c , unsigned int num)
memset: scope:[memset]  from print_cls
  [132] phi()
  to:memset::@1
memset::@1: scope:[memset]  from memset memset::@2
  [133] memset::dst#2 = phi( memset/(char *)memset::str#0, memset::@2/memset::dst#1 )
  [134] if(memset::dst#2!=memset::end#0) goto memset::@2
  to:memset::@return
memset::@return: scope:[memset]  from memset::@1
  [135] return 
  to:@return
memset::@2: scope:[memset]  from memset::@1
  [136] *memset::dst#2 = memset::c#0
  [137] memset::dst#1 = ++ memset::dst#2
  to:memset::@1

char div8u(char dividend , char divisor)
div8u: scope:[div8u]  from div8s::@4 test_8u::@1
  [138] div8u::divisor#2 = phi( div8s::@4/div8u::divisor#0, test_8u::@1/div8u::divisor#1 )
  [138] div8u::dividend#2 = phi( div8s::@4/div8u::dividend#0, test_8u::@1/div8u::dividend#1 )
  [139] divr8u::dividend#0 = div8u::dividend#2
  [140] divr8u::divisor#0 = div8u::divisor#2
  [141] call divr8u
  [142] divr8u::return#0 = divr8u::return#1
  to:div8u::@1
div8u::@1: scope:[div8u]  from div8u
  [143] div8u::return#0 = divr8u::return#0
  to:div8u::@return
div8u::@return: scope:[div8u]  from div8u::@1
  [144] return 
  to:@return

void print_uchar(char b)
print_uchar: scope:[print_uchar]  from print_schar::@2 print_uint print_uint::@1 test_8u::@2 test_8u::@4 test_8u::@6 test_8u::@8
  [145] print_char_cursor#142 = phi( print_schar::@2/print_char_cursor#18, print_uint/print_char_cursor#141, print_uint::@1/print_char_cursor#18, test_8u::@2/print_char_cursor#144, test_8u::@4/print_char_cursor#18, test_8u::@6/print_char_cursor#18, test_8u::@8/print_char_cursor#18 )
  [145] print_uchar::b#7 = phi( print_schar::@2/print_uchar::b#0, print_uint/print_uchar::b#1, print_uint::@1/print_uchar::b#2, test_8u::@2/print_uchar::b#3, test_8u::@4/print_uchar::b#4, test_8u::@6/print_uchar::b#5, test_8u::@8/print_uchar::b#6 )
  [146] print_uchar::$0 = print_uchar::b#7 >> 4
  [147] print_char::ch#5 = print_hextab[print_uchar::$0]
  [148] call print_char
  to:print_uchar::@1
print_uchar::@1: scope:[print_uchar]  from print_uchar
  [149] print_uchar::$2 = print_uchar::b#7 & $f
  [150] print_char::ch#6 = print_hextab[print_uchar::$2]
  [151] call print_char
  to:print_uchar::@return
print_uchar::@return: scope:[print_uchar]  from print_uchar::@1
  [152] return 
  to:@return

void print_str(char *str)
print_str: scope:[print_str]  from test_16s::@3 test_16s::@5 test_16s::@7 test_16u::@3 test_16u::@5 test_16u::@7 test_8s::@3 test_8s::@5 test_8s::@7 test_8u::@3 test_8u::@5 test_8u::@7
  [153] print_str::str#16 = phi( test_16s::@3/str, test_16s::@5/str1, test_16s::@7/str2, test_16u::@3/str, test_16u::@5/str1, test_16u::@7/str2, test_8s::@3/str, test_8s::@5/str1, test_8s::@7/str2, test_8u::@3/str, test_8u::@5/str1, test_8u::@7/str2 )
  to:print_str::@1
print_str::@1: scope:[print_str]  from print_str print_str::@3
  [154] print_str::str#13 = phi( print_str/print_str::str#16, print_str::@3/print_str::str#0 )
  [155] if(0!=*print_str::str#13) goto print_str::@2
  to:print_str::@return
print_str::@return: scope:[print_str]  from print_str::@1
  [156] return 
  to:@return
print_str::@2: scope:[print_str]  from print_str::@1
  [157] print_char::ch#0 = *print_str::str#13
  [158] call print_char
  to:print_str::@3
print_str::@3: scope:[print_str]  from print_str::@2
  [159] print_str::str#0 = ++ print_str::str#13
  to:print_str::@1

void print_ln()
print_ln: scope:[print_ln]  from test_16s::@9 test_16u::@9 test_8s::@9 test_8u::@9
  [160] print_line_cursor#41 = phi( test_16s::@9/print_line_cursor#0, test_16u::@9/print_line_cursor#0, test_8s::@9/print_line_cursor#0, test_8u::@9/print_line_cursor#43 )
  to:print_ln::@1
print_ln::@1: scope:[print_ln]  from print_ln print_ln::@1
  [161] print_line_cursor#21 = phi( print_ln/print_line_cursor#41, print_ln::@1/print_line_cursor#0 )
  [162] print_line_cursor#0 = print_line_cursor#21 + $28
  [163] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1
  to:print_ln::@return
print_ln::@return: scope:[print_ln]  from print_ln::@1
  [164] return 
  to:@return

unsigned int div16u(unsigned int dividend , unsigned int divisor)
div16u: scope:[div16u]  from test_16u::@1
  [165] divr16u::dividend#1 = div16u::dividend#0
  [166] divr16u::divisor#0 = div16u::divisor#0
  [167] call divr16u
  [168] divr16u::return#2 = divr16u::return#0
  to:div16u::@1
div16u::@1: scope:[div16u]  from div16u
  [169] div16u::return#0 = divr16u::return#2
  to:div16u::@return
div16u::@return: scope:[div16u]  from div16u::@1
  [170] return 
  to:@return

void print_uint(unsigned int w)
print_uint: scope:[print_uint]  from print_sint::@2 test_16u::@2 test_16u::@4 test_16u::@6 test_16u::@8
  [171] print_char_cursor#141 = phi( print_sint::@2/print_char_cursor#18, test_16u::@2/print_char_cursor#169, test_16u::@4/print_char_cursor#18, test_16u::@6/print_char_cursor#18, test_16u::@8/print_char_cursor#18 )
  [171] print_uint::w#5 = phi( print_sint::@2/print_uint::w#0, test_16u::@2/print_uint::w#1, test_16u::@4/print_uint::w#2, test_16u::@6/print_uint::w#3, test_16u::@8/print_uint::w#4 )
  [172] print_uchar::b#1 = byte1  print_uint::w#5
  [173] call print_uchar
  to:print_uint::@1
print_uint::@1: scope:[print_uint]  from print_uint
  [174] print_uchar::b#2 = byte0  print_uint::w#5
  [175] call print_uchar
  to:print_uint::@return
print_uint::@return: scope:[print_uint]  from print_uint::@1
  [176] return 
  to:@return

signed char div8s(signed char dividend , signed char divisor)
div8s: scope:[div8s]  from test_8s::@1
  [177] if(div8s::dividend#0<0) goto div8s::@1
  to:div8s::@6
div8s::@6: scope:[div8s]  from div8s
  [178] div8s::dividendu#8 = (char)div8s::dividend#0
  to:div8s::@2
div8s::@2: scope:[div8s]  from div8s::@1 div8s::@6
  [179] div8s::dividendu#3 = phi( div8s::@1/div8s::dividendu#7, div8s::@6/div8s::dividendu#8 )
  [179] div8s::neg#3 = phi( div8s::@1/1, div8s::@6/0 )
  [180] if(div8s::divisor#0<0) goto div8s::@3
  to:div8s::@7
div8s::@7: scope:[div8s]  from div8s::@2
  [181] div8s::divisoru#5 = (char)div8s::divisor#0
  to:div8s::@4
div8s::@4: scope:[div8s]  from div8s::@3 div8s::@7
  [182] div8s::neg#4 = phi( div8s::@3/div8s::neg#2, div8s::@7/div8s::neg#3 )
  [182] div8s::divisoru#3 = phi( div8s::@3/div8s::divisoru#4, div8s::@7/div8s::divisoru#5 )
  [183] div8u::dividend#0 = div8s::dividendu#3
  [184] div8u::divisor#0 = div8s::divisoru#3
  [185] call div8u
  [186] div8u::return#2 = div8u::return#0
  to:div8s::@9
div8s::@9: scope:[div8s]  from div8s::@4
  [187] div8s::resultu#0 = div8u::return#2
  [188] if(div8s::neg#4==0) goto div8s::@5
  to:div8s::@8
div8s::@8: scope:[div8s]  from div8s::@9
  [189] rem8s#1 = - (signed char)rem8u#18
  [190] div8s::return#1 = - (signed char)div8s::resultu#0
  to:div8s::@return
div8s::@return: scope:[div8s]  from div8s::@5 div8s::@8
  [191] rem8s#10 = phi( div8s::@5/rem8s#33, div8s::@8/rem8s#1 )
  [191] div8s::return#2 = phi( div8s::@5/div8s::return#6, div8s::@8/div8s::return#1 )
  [192] return 
  to:@return
div8s::@5: scope:[div8s]  from div8s::@9
  [193] div8s::return#6 = (signed char)div8s::resultu#0
  [194] rem8s#33 = (signed char)rem8u#18
  to:div8s::@return
div8s::@3: scope:[div8s]  from div8s::@2
  [195] div8s::divisoru#1 = - div8s::divisor#0
  [196] div8s::neg#2 = div8s::neg#3 ^ 1
  [197] div8s::divisoru#4 = (char)div8s::divisoru#1
  to:div8s::@4
div8s::@1: scope:[div8s]  from div8s
  [198] div8s::dividendu#1 = - div8s::dividend#0
  [199] div8s::dividendu#7 = (char)div8s::dividendu#1
  to:div8s::@2

void print_schar(signed char b)
print_schar: scope:[print_schar]  from test_8s::@2 test_8s::@4 test_8s::@6 test_8s::@8
  [200] print_char_cursor#138 = phi( test_8s::@2/print_char_cursor#164, test_8s::@4/print_char_cursor#18, test_8s::@6/print_char_cursor#18, test_8s::@8/print_char_cursor#18 )
  [200] print_schar::b#10 = phi( test_8s::@2/print_schar::b#1, test_8s::@4/print_schar::b#2, test_8s::@6/print_schar::b#3, test_8s::@8/print_schar::b#4 )
  [201] if(print_schar::b#10<0) goto print_schar::@1
  to:print_schar::@3
print_schar::@3: scope:[print_schar]  from print_schar
  [202] phi()
  [203] call print_char
  to:print_schar::@2
print_schar::@2: scope:[print_schar]  from print_schar::@3 print_schar::@4
  [204] print_schar::b#7 = phi( print_schar::@4/print_schar::b#0, print_schar::@3/print_schar::b#10 )
  [205] print_uchar::b#0 = (char)print_schar::b#7
  [206] call print_uchar
  to:print_schar::@return
print_schar::@return: scope:[print_schar]  from print_schar::@2
  [207] return 
  to:@return
print_schar::@1: scope:[print_schar]  from print_schar
  [208] phi()
  [209] call print_char
  to:print_schar::@4
print_schar::@4: scope:[print_schar]  from print_schar::@1
  [210] print_schar::b#0 = - print_schar::b#10
  to:print_schar::@2

int div16s(int dividend , int divisor)
div16s: scope:[div16s]  from test_16s::@1
  [211] divr16s::dividend#0 = div16s::dividend#0
  [212] divr16s::divisor#0 = div16s::divisor#0
  [213] call divr16s
  [214] divr16s::return#3 = divr16s::return#2
  to:div16s::@1
div16s::@1: scope:[div16s]  from div16s
  [215] div16s::return#0 = divr16s::return#3
  to:div16s::@return
div16s::@return: scope:[div16s]  from div16s::@1
  [216] return 
  to:@return

void print_sint(int w)
print_sint: scope:[print_sint]  from test_16s::@2 test_16s::@4 test_16s::@6 test_16s::@8
  [217] print_char_cursor#135 = phi( test_16s::@2/print_char_cursor#160, test_16s::@4/print_char_cursor#18, test_16s::@6/print_char_cursor#18, test_16s::@8/print_char_cursor#18 )
  [217] print_sint::w#10 = phi( test_16s::@2/print_sint::w#1, test_16s::@4/print_sint::w#2, test_16s::@6/print_sint::w#3, test_16s::@8/print_sint::w#4 )
  [218] if(print_sint::w#10<0) goto print_sint::@1
  to:print_sint::@3
print_sint::@3: scope:[print_sint]  from print_sint
  [219] phi()
  [220] call print_char
  to:print_sint::@2
print_sint::@2: scope:[print_sint]  from print_sint::@3 print_sint::@4
  [221] print_sint::w#7 = phi( print_sint::@4/print_sint::w#0, print_sint::@3/print_sint::w#10 )
  [222] print_uint::w#0 = (unsigned int)print_sint::w#7
  [223] call print_uint
  to:print_sint::@return
print_sint::@return: scope:[print_sint]  from print_sint::@2
  [224] return 
  to:@return
print_sint::@1: scope:[print_sint]  from print_sint
  [225] phi()
  [226] call print_char
  to:print_sint::@4
print_sint::@4: scope:[print_sint]  from print_sint::@1
  [227] print_sint::w#0 = - print_sint::w#10
  to:print_sint::@2

char divr8u(char dividend , char divisor , char rem)
divr8u: scope:[divr8u]  from div8u
  [228] phi()
  to:divr8u::@1
divr8u::@1: scope:[divr8u]  from divr8u divr8u::@3
  [229] divr8u::i#2 = phi( divr8u/0, divr8u::@3/divr8u::i#1 )
  [229] divr8u::quotient#3 = phi( divr8u/0, divr8u::@3/divr8u::return#1 )
  [229] divr8u::dividend#2 = phi( divr8u/divr8u::dividend#0, divr8u::@3/divr8u::dividend#1 )
  [229] divr8u::rem#4 = phi( divr8u/0, divr8u::@3/divr8u::rem#10 )
  [230] divr8u::rem#1 = divr8u::rem#4 << 1
  [231] divr8u::$1 = divr8u::dividend#2 & $80
  [232] if(divr8u::$1==0) goto divr8u::@2
  to:divr8u::@4
divr8u::@4: scope:[divr8u]  from divr8u::@1
  [233] divr8u::rem#2 = divr8u::rem#1 | 1
  to:divr8u::@2
divr8u::@2: scope:[divr8u]  from divr8u::@1 divr8u::@4
  [234] divr8u::rem#5 = phi( divr8u::@1/divr8u::rem#1, divr8u::@4/divr8u::rem#2 )
  [235] divr8u::dividend#1 = divr8u::dividend#2 << 1
  [236] divr8u::quotient#1 = divr8u::quotient#3 << 1
  [237] if(divr8u::rem#5<divr8u::divisor#0) goto divr8u::@3
  to:divr8u::@5
divr8u::@5: scope:[divr8u]  from divr8u::@2
  [238] divr8u::quotient#2 = ++ divr8u::quotient#1
  [239] divr8u::rem#3 = divr8u::rem#5 - divr8u::divisor#0
  to:divr8u::@3
divr8u::@3: scope:[divr8u]  from divr8u::@2 divr8u::@5
  [240] divr8u::return#1 = phi( divr8u::@2/divr8u::quotient#1, divr8u::@5/divr8u::quotient#2 )
  [240] divr8u::rem#10 = phi( divr8u::@2/divr8u::rem#5, divr8u::@5/divr8u::rem#3 )
  [241] divr8u::i#1 = ++ divr8u::i#2
  [242] if(divr8u::i#1!=8) goto divr8u::@1
  to:divr8u::@6
divr8u::@6: scope:[divr8u]  from divr8u::@3
  [243] rem8u#18 = divr8u::rem#10
  to:divr8u::@return
divr8u::@return: scope:[divr8u]  from divr8u::@6
  [244] return 
  to:@return

void print_char(char ch)
print_char: scope:[print_char]  from print_schar::@1 print_schar::@3 print_sint::@1 print_sint::@3 print_str::@2 print_uchar print_uchar::@1
  [245] print_char_cursor#85 = phi( print_schar::@1/print_char_cursor#138, print_schar::@3/print_char_cursor#138, print_sint::@1/print_char_cursor#135, print_sint::@3/print_char_cursor#135, print_str::@2/print_char_cursor#18, print_uchar/print_char_cursor#142, print_uchar::@1/print_char_cursor#18 )
  [245] print_char::ch#7 = phi( print_schar::@1/'-', print_schar::@3/' ', print_sint::@1/'-', print_sint::@3/' ', print_str::@2/print_char::ch#0, print_uchar/print_char::ch#5, print_uchar::@1/print_char::ch#6 )
  [246] *print_char_cursor#85 = print_char::ch#7
  [247] print_char_cursor#18 = ++ print_char_cursor#85
  to:print_char::@return
print_char::@return: scope:[print_char]  from print_char
  [248] return 
  to:@return

unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
divr16u: scope:[divr16u]  from div16u divr16s::@4
  [249] divr16u::divisor#6 = phi( div16u/divr16u::divisor#0, divr16s::@4/divr16u::divisor#1 )
  [249] divr16u::dividend#5 = phi( div16u/divr16u::dividend#1, divr16s::@4/divr16u::dividend#2 )
  to:divr16u::@1
divr16u::@1: scope:[divr16u]  from divr16u divr16u::@3
  [250] divr16u::i#2 = phi( divr16u/0, divr16u::@3/divr16u::i#1 )
  [250] divr16u::quotient#3 = phi( divr16u/0, divr16u::@3/divr16u::return#0 )
  [250] divr16u::dividend#3 = phi( divr16u/divr16u::dividend#5, divr16u::@3/divr16u::dividend#0 )
  [250] divr16u::rem#5 = phi( divr16u/0, divr16u::@3/divr16u::rem#11 )
  [251] divr16u::rem#0 = divr16u::rem#5 << 1
  [252] divr16u::$1 = byte1  divr16u::dividend#3
  [253] divr16u::$2 = divr16u::$1 & $80
  [254] if(divr16u::$2==0) goto divr16u::@2
  to:divr16u::@4
divr16u::@4: scope:[divr16u]  from divr16u::@1
  [255] divr16u::rem#1 = divr16u::rem#0 | 1
  to:divr16u::@2
divr16u::@2: scope:[divr16u]  from divr16u::@1 divr16u::@4
  [256] divr16u::rem#6 = phi( divr16u::@1/divr16u::rem#0, divr16u::@4/divr16u::rem#1 )
  [257] divr16u::dividend#0 = divr16u::dividend#3 << 1
  [258] divr16u::quotient#1 = divr16u::quotient#3 << 1
  [259] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3
  to:divr16u::@5
divr16u::@5: scope:[divr16u]  from divr16u::@2
  [260] divr16u::quotient#2 = ++ divr16u::quotient#1
  [261] divr16u::rem#2 = divr16u::rem#6 - divr16u::divisor#6
  to:divr16u::@3
divr16u::@3: scope:[divr16u]  from divr16u::@2 divr16u::@5
  [262] divr16u::return#0 = phi( divr16u::@2/divr16u::quotient#1, divr16u::@5/divr16u::quotient#2 )
  [262] divr16u::rem#11 = phi( divr16u::@2/divr16u::rem#6, divr16u::@5/divr16u::rem#2 )
  [263] divr16u::i#1 = ++ divr16u::i#2
  [264] if(divr16u::i#1!=$10) goto divr16u::@1
  to:divr16u::@6
divr16u::@6: scope:[divr16u]  from divr16u::@3
  [265] rem16u#0 = divr16u::rem#11
  to:divr16u::@return
divr16u::@return: scope:[divr16u]  from divr16u::@6
  [266] return 
  to:@return

int divr16s(int dividend , int divisor , int rem)
divr16s: scope:[divr16s]  from div16s
  [267] if(divr16s::dividend#0<0) goto divr16s::@1
  to:divr16s::@6
divr16s::@6: scope:[divr16s]  from divr16s
  [268] divr16s::dividendu#8 = (unsigned int)divr16s::dividend#0
  to:divr16s::@2
divr16s::@2: scope:[divr16s]  from divr16s::@1 divr16s::@6
  [269] divr16s::dividendu#3 = phi( divr16s::@1/divr16s::dividendu#7, divr16s::@6/divr16s::dividendu#8 )
  [269] divr16s::neg#3 = phi( divr16s::@1/1, divr16s::@6/0 )
  [270] if(divr16s::divisor#0<0) goto divr16s::@3
  to:divr16s::@7
divr16s::@7: scope:[divr16s]  from divr16s::@2
  [271] divr16s::divisoru#5 = (unsigned int)divr16s::divisor#0
  to:divr16s::@4
divr16s::@4: scope:[divr16s]  from divr16s::@3 divr16s::@7
  [272] divr16s::neg#4 = phi( divr16s::@3/divr16s::neg#2, divr16s::@7/divr16s::neg#3 )
  [272] divr16s::divisoru#3 = phi( divr16s::@3/divr16s::divisoru#4, divr16s::@7/divr16s::divisoru#5 )
  [273] divr16u::dividend#2 = divr16s::dividendu#3
  [274] divr16u::divisor#1 = divr16s::divisoru#3
  [275] call divr16u
  [276] divr16u::return#3 = divr16u::return#0
  to:divr16s::@9
divr16s::@9: scope:[divr16s]  from divr16s::@4
  [277] divr16s::resultu#0 = divr16u::return#3
  [278] if(divr16s::neg#4==0) goto divr16s::@5
  to:divr16s::@8
divr16s::@8: scope:[divr16s]  from divr16s::@9
  [279] rem16s#1 = - (int)rem16u#0
  [280] divr16s::return#1 = - (int)divr16s::resultu#0
  to:divr16s::@return
divr16s::@return: scope:[divr16s]  from divr16s::@5 divr16s::@8
  [281] rem16s#12 = phi( divr16s::@5/rem16s#38, divr16s::@8/rem16s#1 )
  [281] divr16s::return#2 = phi( divr16s::@5/divr16s::return#6, divr16s::@8/divr16s::return#1 )
  [282] return 
  to:@return
divr16s::@5: scope:[divr16s]  from divr16s::@9
  [283] divr16s::return#6 = (int)divr16s::resultu#0
  [284] rem16s#38 = (int)rem16u#0
  to:divr16s::@return
divr16s::@3: scope:[divr16s]  from divr16s::@2
  [285] divr16s::divisoru#1 = - divr16s::divisor#0
  [286] divr16s::neg#2 = divr16s::neg#3 ^ 1
  [287] divr16s::divisoru#4 = (unsigned int)divr16s::divisoru#1
  to:divr16s::@4
divr16s::@1: scope:[divr16s]  from divr16s
  [288] divr16s::dividendu#1 = - divr16s::dividend#0
  [289] divr16s::dividendu#7 = (unsigned int)divr16s::dividendu#1
  to:divr16s::@2


VARIABLE REGISTER WEIGHTS
int div16s(int dividend , int divisor)
int div16s::dividend
int div16s::dividend#0 // 551.0
int div16s::divisor
int div16s::divisor#0 // 551.0
int div16s::return
int div16s::return#0 // 367.33333333333337
int div16s::return#2 // 202.0
unsigned int div16u(unsigned int dividend , unsigned int divisor)
unsigned int div16u::dividend
unsigned int div16u::dividend#0 // 551.0
unsigned int div16u::divisor
unsigned int div16u::divisor#0 // 551.0
unsigned int div16u::return
unsigned int div16u::return#0 // 367.33333333333337
unsigned int div16u::return#2 // 202.0
signed char div8s(signed char dividend , signed char divisor)
signed char div8s::dividend
signed char div8s::dividend#0 // 701.0
char div8s::dividendu
signed char div8s::dividendu#1 // 1001.0
char div8s::dividendu#3 // 429.0
char div8s::dividendu#7 // 2002.0
char div8s::dividendu#8 // 2002.0
signed char div8s::divisor
signed char div8s::divisor#0 // 300.42857142857144
char div8s::divisoru
signed char div8s::divisoru#1 // 500.5
char div8s::divisoru#3 // 1501.5
char div8s::divisoru#4 // 2002.0
char div8s::divisoru#5 // 2002.0
char div8s::neg
char div8s::neg#2 // 1001.0
char div8s::neg#3 // 500.5
char div8s::neg#4 // 500.5
char div8s::resultu
char div8s::resultu#0 // 333.6666666666667
signed char div8s::return
signed char div8s::return#1 // 2002.0
signed char div8s::return#2 // 701.0
signed char div8s::return#3 // 202.0
signed char div8s::return#6 // 1001.0
char div8u(char dividend , char divisor)
char div8u::dividend
char div8u::dividend#0 // 1001.0
char div8u::dividend#1 // 101.0
char div8u::dividend#2 // 11103.0
char div8u::divisor
char div8u::divisor#0 // 2002.0
char div8u::divisor#1 // 202.0
char div8u::divisor#2 // 5551.5
char div8u::return
char div8u::return#0 // 2775.75
char div8u::return#2 // 2002.0
char div8u::return#3 // 202.0
int divr16s(int dividend , int divisor , int rem)
int divr16s::dividend
int divr16s::dividend#0 // 7001.0
unsigned int divr16s::dividendu
int divr16s::dividendu#1 // 10001.0
unsigned int divr16s::dividendu#3 // 4286.142857142857
unsigned int divr16s::dividendu#7 // 20002.0
unsigned int divr16s::dividendu#8 // 20002.0
int divr16s::divisor
int divr16s::divisor#0 // 3000.4285714285716
unsigned int divr16s::divisoru
int divr16s::divisoru#1 // 5000.5
unsigned int divr16s::divisoru#3 // 15001.5
unsigned int divr16s::divisoru#4 // 20002.0
unsigned int divr16s::divisoru#5 // 20002.0
char divr16s::neg
char divr16s::neg#2 // 10001.0
char divr16s::neg#3 // 5000.5
char divr16s::neg#4 // 5000.5
int divr16s::rem
unsigned int divr16s::remu
unsigned int divr16s::resultu
unsigned int divr16s::resultu#0 // 3333.6666666666665
int divr16s::return
int divr16s::return#1 // 20002.0
int divr16s::return#2 // 7001.0
int divr16s::return#3 // 2002.0
int divr16s::return#6 // 10001.0
unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
char divr16u::$1 // 2.0000002E7
char divr16u::$2 // 2.0000002E7
unsigned int divr16u::dividend
unsigned int divr16u::dividend#0 // 2500000.25
unsigned int divr16u::dividend#1 // 1001.0
unsigned int divr16u::dividend#2 // 10001.0
unsigned int divr16u::dividend#3 // 4300000.571428571
unsigned int divr16u::dividend#5 // 111003.0
unsigned int divr16u::divisor
unsigned int divr16u::divisor#0 // 2002.0
unsigned int divr16u::divisor#1 // 20002.0
unsigned int divr16u::divisor#6 // 1250687.75
char divr16u::i
char divr16u::i#1 // 1.50000015E7
char divr16u::i#2 // 1538461.6923076923
unsigned int divr16u::quotient
unsigned int divr16u::quotient#1 // 1.50000015E7
unsigned int divr16u::quotient#2 // 1.0000001E7
unsigned int divr16u::quotient#3 // 2500000.25
unsigned int divr16u::rem
unsigned int divr16u::rem#0 // 7500000.75
unsigned int divr16u::rem#1 // 2.0000002E7
unsigned int divr16u::rem#11 // 1.0033334666666666E7
unsigned int divr16u::rem#2 // 2.0000002E7
unsigned int divr16u::rem#5 // 2.0000002E7
unsigned int divr16u::rem#6 // 1.0000001E7
unsigned int divr16u::return
unsigned int divr16u::return#0 // 4287286.428571429
unsigned int divr16u::return#2 // 2002.0
unsigned int divr16u::return#3 // 20002.0
char divr8u(char dividend , char divisor , char rem)
char divr8u::$1 // 2.0000002E7
char divr8u::dividend
char divr8u::dividend#0 // 36667.33333333333
char divr8u::dividend#1 // 2500000.25
char divr8u::dividend#2 // 5016667.333333333
char divr8u::divisor
char divr8u::divisor#0 // 1250625.1875
char divr8u::i
char divr8u::i#1 // 1.50000015E7
char divr8u::i#2 // 1666666.8333333333
char divr8u::quotient
char divr8u::quotient#1 // 1.50000015E7
char divr8u::quotient#2 // 1.0000001E7
char divr8u::quotient#3 // 2857143.1428571427
char divr8u::rem
char divr8u::rem#1 // 1.0000001E7
char divr8u::rem#10 // 1.0033334666666666E7
char divr8u::rem#2 // 2.0000002E7
char divr8u::rem#3 // 2.0000002E7
char divr8u::rem#4 // 2.0000002E7
char divr8u::rem#5 // 1.0000001E7
char divr8u::return
char divr8u::return#0 // 20002.0
char divr8u::return#1 // 5001667.333333333
void main()
void * memset(void *str , char c , unsigned int num)
char memset::c
char *memset::dst
char *memset::dst#1 // 2002.0
char *memset::dst#2 // 1334.6666666666667
char *memset::end
unsigned int memset::num
void *memset::return
void *memset::str
void print_char(char ch)
char print_char::ch
char print_char::ch#0 // 200002.0
char print_char::ch#5 // 200002.0
char print_char::ch#6 // 200002.0
char print_char::ch#7 // 1300004.0
char *print_char_cursor
char *print_char_cursor#135 // 601.5
char *print_char_cursor#138 // 601.5
char *print_char_cursor#141 // 5703.0
char *print_char_cursor#142 // 40469.33333333333
char *print_char_cursor#144 // 22.444444444444443
char *print_char_cursor#160 // 202.0
char *print_char_cursor#164 // 202.0
char *print_char_cursor#169 // 202.0
char *print_char_cursor#18 // 14274.119565217392
char *print_char_cursor#187 // 202.0
char *print_char_cursor#85 // 1152004.5
void print_cls()
char *print_line_cursor
char *print_line_cursor#0 // 2949.127450980392
char *print_line_cursor#21 // 201003.0
char *print_line_cursor#41 // 1405.0
char *print_line_cursor#43 // 8.782608695652174
void print_ln()
void print_schar(signed char b)
signed char print_schar::b
signed char print_schar::b#0 // 2002.0
signed char print_schar::b#1 // 101.0
signed char print_schar::b#10 // 567.8333333333334
signed char print_schar::b#2 // 202.0
signed char print_schar::b#3 // 202.0
signed char print_schar::b#4 // 202.0
signed char print_schar::b#7 // 2002.0
char *print_screen
void print_sint(int w)
int print_sint::w
int print_sint::w#0 // 2002.0
int print_sint::w#1 // 101.0
int print_sint::w#10 // 567.8333333333334
int print_sint::w#2 // 202.0
int print_sint::w#3 // 202.0
int print_sint::w#4 // 202.0
int print_sint::w#7 // 2002.0
void print_str(char *str)
char *print_str::str
char *print_str::str#0 // 200002.0
char *print_str::str#13 // 100251.25
char *print_str::str#16 // 1001.0
void print_uchar(char b)
char print_uchar::$0 // 200002.0
char print_uchar::$2 // 200002.0
char print_uchar::b
char print_uchar::b#0 // 2002.0
char print_uchar::b#1 // 20002.0
char print_uchar::b#2 // 20002.0
char print_uchar::b#3 // 202.0
char print_uchar::b#4 // 202.0
char print_uchar::b#5 // 202.0
char print_uchar::b#6 // 202.0
char print_uchar::b#7 // 55352.25
void print_uint(unsigned int w)
unsigned int print_uint::w
unsigned int print_uint::w#0 // 2002.0
unsigned int print_uint::w#1 // 101.0
unsigned int print_uint::w#2 // 202.0
unsigned int print_uint::w#3 // 202.0
unsigned int print_uint::w#4 // 202.0
unsigned int print_uint::w#5 // 7135.666666666666
int rem16s
int rem16s#1 // 10001.0
int rem16s#12 // 913.7727272727273
int rem16s#38 // 20002.0
unsigned int rem16u
unsigned int rem16u#0 // 3707.4814814814818
signed char rem8s
signed char rem8s#1 // 1001.0
signed char rem8s#10 // 116.83333333333334
signed char rem8s#33 // 2002.0
char rem8u
char rem8u#18 // 3850.076923076923
void test_16s()
char test_16s::$11 // 151.5
int test_16s::dividend
int test_16s::dividend#0 // 43.285714285714285
int test_16s::divisor
int test_16s::divisor#0 // 27.545454545454547
char test_16s::i
char test_16s::i#1 // 151.5
char test_16s::i#10 // 11.653846153846153
int test_16s::res
int test_16s::res#0 // 20.2
void test_16u()
char test_16u::$11 // 151.5
unsigned int test_16u::dividend
unsigned int test_16u::dividend#0 // 43.285714285714285
unsigned int test_16u::divisor
unsigned int test_16u::divisor#0 // 27.545454545454547
char test_16u::i
char test_16u::i#1 // 151.5
char test_16u::i#10 // 11.653846153846153
unsigned int test_16u::res
unsigned int test_16u::res#0 // 20.2
void test_8s()
signed char test_8s::dividend
signed char test_8s::dividend#0 // 43.285714285714285
signed char test_8s::divisor
signed char test_8s::divisor#0 // 27.545454545454547
char test_8s::i
char test_8s::i#1 // 151.5
char test_8s::i#10 // 16.16
signed char test_8s::res
signed char test_8s::res#0 // 20.2
void test_8u()
char test_8u::dividend
char test_8u::dividend#0 // 43.285714285714285
char test_8u::divisor
char test_8u::divisor#0 // 30.299999999999997
char test_8u::i
char test_8u::i#1 // 101.0
char test_8u::i#10 // 16.833333333333332
char test_8u::res
char test_8u::res#0 // 22.444444444444443

Initial phi equivalence classes
[ test_8u::i#10 test_8u::i#1 ]
[ test_16u::i#10 test_16u::i#1 ]
[ test_8s::i#10 test_8s::i#1 ]
[ test_16s::i#10 test_16s::i#1 ]
[ memset::dst#2 memset::dst#1 ]
[ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ]
[ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ]
[ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ]
[ print_str::str#13 print_str::str#16 print_str::str#0 ]
[ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ]
[ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ]
[ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
[ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ]
[ div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
[ div8s::return#2 div8s::return#6 div8s::return#1 ]
[ rem8s#10 rem8s#33 rem8s#1 ]
[ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ]
[ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ]
[ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ]
[ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
[ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
[ divr8u::i#2 divr8u::i#1 ]
[ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ]
[ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ]
[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ]
[ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ]
[ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
[ divr16u::i#2 divr16u::i#1 ]
[ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ]
[ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ]
[ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ]
[ divr16s::return#2 divr16s::return#6 divr16s::return#1 ]
[ rem16s#12 rem16s#38 rem16s#1 ]
Added variable test_8u::dividend#0 to live range equivalence class [ test_8u::dividend#0 ]
Added variable test_8u::divisor#0 to live range equivalence class [ test_8u::divisor#0 ]
Added variable div8u::return#3 to live range equivalence class [ div8u::return#3 ]
Added variable test_8u::res#0 to live range equivalence class [ test_8u::res#0 ]
Added variable test_16u::$11 to live range equivalence class [ test_16u::$11 ]
Added variable test_16u::dividend#0 to live range equivalence class [ test_16u::dividend#0 ]
Added variable test_16u::divisor#0 to live range equivalence class [ test_16u::divisor#0 ]
Added variable div16u::dividend#0 to live range equivalence class [ div16u::dividend#0 ]
Added variable div16u::divisor#0 to live range equivalence class [ div16u::divisor#0 ]
Added variable div16u::return#2 to live range equivalence class [ div16u::return#2 ]
Added variable test_16u::res#0 to live range equivalence class [ test_16u::res#0 ]
Added variable test_8s::dividend#0 to live range equivalence class [ test_8s::dividend#0 ]
Added variable test_8s::divisor#0 to live range equivalence class [ test_8s::divisor#0 ]
Added variable div8s::dividend#0 to live range equivalence class [ div8s::dividend#0 ]
Added variable div8s::divisor#0 to live range equivalence class [ div8s::divisor#0 ]
Added variable div8s::return#3 to live range equivalence class [ div8s::return#3 ]
Added variable test_8s::res#0 to live range equivalence class [ test_8s::res#0 ]
Added variable test_16s::$11 to live range equivalence class [ test_16s::$11 ]
Added variable test_16s::dividend#0 to live range equivalence class [ test_16s::dividend#0 ]
Added variable test_16s::divisor#0 to live range equivalence class [ test_16s::divisor#0 ]
Added variable div16s::dividend#0 to live range equivalence class [ div16s::dividend#0 ]
Added variable div16s::divisor#0 to live range equivalence class [ div16s::divisor#0 ]
Added variable div16s::return#2 to live range equivalence class [ div16s::return#2 ]
Added variable test_16s::res#0 to live range equivalence class [ test_16s::res#0 ]
Added variable divr8u::divisor#0 to live range equivalence class [ divr8u::divisor#0 ]
Added variable divr8u::return#0 to live range equivalence class [ divr8u::return#0 ]
Added variable div8u::return#0 to live range equivalence class [ div8u::return#0 ]
Added variable print_uchar::$0 to live range equivalence class [ print_uchar::$0 ]
Added variable print_uchar::$2 to live range equivalence class [ print_uchar::$2 ]
Added variable divr16u::return#2 to live range equivalence class [ divr16u::return#2 ]
Added variable div16u::return#0 to live range equivalence class [ div16u::return#0 ]
Added variable div8u::return#2 to live range equivalence class [ div8u::return#2 ]
Added variable div8s::resultu#0 to live range equivalence class [ div8s::resultu#0 ]
Added variable div8s::divisoru#1 to live range equivalence class [ div8s::divisoru#1 ]
Added variable div8s::dividendu#1 to live range equivalence class [ div8s::dividendu#1 ]
Added variable divr16s::dividend#0 to live range equivalence class [ divr16s::dividend#0 ]
Added variable divr16s::divisor#0 to live range equivalence class [ divr16s::divisor#0 ]
Added variable divr16s::return#3 to live range equivalence class [ divr16s::return#3 ]
Added variable div16s::return#0 to live range equivalence class [ div16s::return#0 ]
Added variable divr8u::$1 to live range equivalence class [ divr8u::$1 ]
Added variable rem8u#18 to live range equivalence class [ rem8u#18 ]
Added variable divr16u::$1 to live range equivalence class [ divr16u::$1 ]
Added variable divr16u::$2 to live range equivalence class [ divr16u::$2 ]
Added variable rem16u#0 to live range equivalence class [ rem16u#0 ]
Added variable divr16u::return#3 to live range equivalence class [ divr16u::return#3 ]
Added variable divr16s::resultu#0 to live range equivalence class [ divr16s::resultu#0 ]
Added variable divr16s::divisoru#1 to live range equivalence class [ divr16s::divisoru#1 ]
Added variable divr16s::dividendu#1 to live range equivalence class [ divr16s::dividendu#1 ]
Complete equivalence classes
[ test_8u::i#10 test_8u::i#1 ]
[ test_16u::i#10 test_16u::i#1 ]
[ test_8s::i#10 test_8s::i#1 ]
[ test_16s::i#10 test_16s::i#1 ]
[ memset::dst#2 memset::dst#1 ]
[ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ]
[ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ]
[ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ]
[ print_str::str#13 print_str::str#16 print_str::str#0 ]
[ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ]
[ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ]
[ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
[ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ]
[ div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
[ div8s::return#2 div8s::return#6 div8s::return#1 ]
[ rem8s#10 rem8s#33 rem8s#1 ]
[ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ]
[ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ]
[ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ]
[ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
[ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
[ divr8u::i#2 divr8u::i#1 ]
[ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ]
[ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ]
[ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ]
[ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
[ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ]
[ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
[ divr16u::i#2 divr16u::i#1 ]
[ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ]
[ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ]
[ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ]
[ divr16s::return#2 divr16s::return#6 divr16s::return#1 ]
[ rem16s#12 rem16s#38 rem16s#1 ]
[ test_8u::dividend#0 ]
[ test_8u::divisor#0 ]
[ div8u::return#3 ]
[ test_8u::res#0 ]
[ test_16u::$11 ]
[ test_16u::dividend#0 ]
[ test_16u::divisor#0 ]
[ div16u::dividend#0 ]
[ div16u::divisor#0 ]
[ div16u::return#2 ]
[ test_16u::res#0 ]
[ test_8s::dividend#0 ]
[ test_8s::divisor#0 ]
[ div8s::dividend#0 ]
[ div8s::divisor#0 ]
[ div8s::return#3 ]
[ test_8s::res#0 ]
[ test_16s::$11 ]
[ test_16s::dividend#0 ]
[ test_16s::divisor#0 ]
[ div16s::dividend#0 ]
[ div16s::divisor#0 ]
[ div16s::return#2 ]
[ test_16s::res#0 ]
[ divr8u::divisor#0 ]
[ divr8u::return#0 ]
[ div8u::return#0 ]
[ print_uchar::$0 ]
[ print_uchar::$2 ]
[ divr16u::return#2 ]
[ div16u::return#0 ]
[ div8u::return#2 ]
[ div8s::resultu#0 ]
[ div8s::divisoru#1 ]
[ div8s::dividendu#1 ]
[ divr16s::dividend#0 ]
[ divr16s::divisor#0 ]
[ divr16s::return#3 ]
[ div16s::return#0 ]
[ divr8u::$1 ]
[ rem8u#18 ]
[ divr16u::$1 ]
[ divr16u::$2 ]
[ rem16u#0 ]
[ divr16u::return#3 ]
[ divr16s::resultu#0 ]
[ divr16s::divisoru#1 ]
[ divr16s::dividendu#1 ]
Allocated zp[1]:2 [ test_8u::i#10 test_8u::i#1 ]
Allocated zp[1]:3 [ test_16u::i#10 test_16u::i#1 ]
Allocated zp[1]:4 [ test_8s::i#10 test_8s::i#1 ]
Allocated zp[1]:5 [ test_16s::i#10 test_16s::i#1 ]
Allocated zp[2]:6 [ memset::dst#2 memset::dst#1 ]
Allocated zp[1]:8 [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ]
Allocated zp[1]:9 [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ]
Allocated zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ]
Allocated zp[2]:11 [ print_str::str#13 print_str::str#16 print_str::str#0 ]
Allocated zp[2]:13 [ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ]
Allocated zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ]
Allocated zp[1]:17 [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
Allocated zp[1]:18 [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ]
Allocated zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
Allocated zp[1]:20 [ div8s::return#2 div8s::return#6 div8s::return#1 ]
Allocated zp[1]:21 [ rem8s#10 rem8s#33 rem8s#1 ]
Allocated zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ]
Allocated zp[2]:23 [ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ]
Allocated zp[1]:25 [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ]
Allocated zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
Allocated zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
Allocated zp[1]:28 [ divr8u::i#2 divr8u::i#1 ]
Allocated zp[1]:29 [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ]
Allocated zp[2]:30 [ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ]
Allocated zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ]
Allocated zp[2]:34 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ]
Allocated zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ]
Allocated zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ]
Allocated zp[1]:40 [ divr16u::i#2 divr16u::i#1 ]
Allocated zp[2]:41 [ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ]
Allocated zp[2]:43 [ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ]
Allocated zp[1]:45 [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ]
Allocated zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 ]
Allocated zp[2]:48 [ rem16s#12 rem16s#38 rem16s#1 ]
Allocated zp[1]:50 [ test_8u::dividend#0 ]
Allocated zp[1]:51 [ test_8u::divisor#0 ]
Allocated zp[1]:52 [ div8u::return#3 ]
Allocated zp[1]:53 [ test_8u::res#0 ]
Allocated zp[1]:54 [ test_16u::$11 ]
Allocated zp[2]:55 [ test_16u::dividend#0 ]
Allocated zp[2]:57 [ test_16u::divisor#0 ]
Allocated zp[2]:59 [ div16u::dividend#0 ]
Allocated zp[2]:61 [ div16u::divisor#0 ]
Allocated zp[2]:63 [ div16u::return#2 ]
Allocated zp[2]:65 [ test_16u::res#0 ]
Allocated zp[1]:67 [ test_8s::dividend#0 ]
Allocated zp[1]:68 [ test_8s::divisor#0 ]
Allocated zp[1]:69 [ div8s::dividend#0 ]
Allocated zp[1]:70 [ div8s::divisor#0 ]
Allocated zp[1]:71 [ div8s::return#3 ]
Allocated zp[1]:72 [ test_8s::res#0 ]
Allocated zp[1]:73 [ test_16s::$11 ]
Allocated zp[2]:74 [ test_16s::dividend#0 ]
Allocated zp[2]:76 [ test_16s::divisor#0 ]
Allocated zp[2]:78 [ div16s::dividend#0 ]
Allocated zp[2]:80 [ div16s::divisor#0 ]
Allocated zp[2]:82 [ div16s::return#2 ]
Allocated zp[2]:84 [ test_16s::res#0 ]
Allocated zp[1]:86 [ divr8u::divisor#0 ]
Allocated zp[1]:87 [ divr8u::return#0 ]
Allocated zp[1]:88 [ div8u::return#0 ]
Allocated zp[1]:89 [ print_uchar::$0 ]
Allocated zp[1]:90 [ print_uchar::$2 ]
Allocated zp[2]:91 [ divr16u::return#2 ]
Allocated zp[2]:93 [ div16u::return#0 ]
Allocated zp[1]:95 [ div8u::return#2 ]
Allocated zp[1]:96 [ div8s::resultu#0 ]
Allocated zp[1]:97 [ div8s::divisoru#1 ]
Allocated zp[1]:98 [ div8s::dividendu#1 ]
Allocated zp[2]:99 [ divr16s::dividend#0 ]
Allocated zp[2]:101 [ divr16s::divisor#0 ]
Allocated zp[2]:103 [ divr16s::return#3 ]
Allocated zp[2]:105 [ div16s::return#0 ]
Allocated zp[1]:107 [ divr8u::$1 ]
Allocated zp[1]:108 [ rem8u#18 ]
Allocated zp[1]:109 [ divr16u::$1 ]
Allocated zp[1]:110 [ divr16u::$2 ]
Allocated zp[2]:111 [ rem16u#0 ]
Allocated zp[2]:113 [ divr16u::return#3 ]
Allocated zp[2]:115 [ divr16s::resultu#0 ]
Allocated zp[2]:117 [ divr16s::divisoru#1 ]
Allocated zp[2]:119 [ divr16s::dividendu#1 ]
REGISTER UPLIFT POTENTIAL REGISTERS
Statement [42] print_char_cursor#187 = print_line_cursor#0 [ test_8u::i#1 print_char_cursor#187 print_line_cursor#0 ] ( test_8u:3 [ test_8u::i#1 print_char_cursor#187 print_line_cursor#0 ] { }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:2 [ test_8u::i#10 test_8u::i#1 ]
Statement [45] test_16u::$11 = test_16u::i#10 << 1 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:3 [ test_16u::i#10 test_16u::i#1 ]
Statement [46] test_16u::dividend#0 = test_16u::dividends[test_16u::$11] [ print_line_cursor#0 test_16u::i#10 test_16u::$11 test_16u::dividend#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 test_16u::dividend#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:54 [ test_16u::$11 ]
Statement [47] test_16u::divisor#0 = test_16u::divisors[test_16u::$11] [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [48] div16u::dividend#0 = test_16u::dividend#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [49] div16u::divisor#0 = test_16u::divisor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 div16u::divisor#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 div16u::divisor#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [51] div16u::return#2 = div16u::return#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 rem16u#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [52] test_16u::res#0 = div16u::return#2 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [53] print_uint::w#1 = test_16u::dividend#0 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [54] print_char_cursor#169 = print_line_cursor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 print_char_cursor#169 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 print_char_cursor#169 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [58] print_uint::w#2 = test_16u::divisor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 print_uint::w#2 rem16u#0 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 print_uint::w#2 rem16u#0 print_char_cursor#18 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [62] print_uint::w#3 = test_16u::res#0 [ print_line_cursor#0 test_16u::i#10 print_uint::w#3 rem16u#0 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 print_uint::w#3 rem16u#0 print_char_cursor#18 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [66] print_uint::w#4 = rem16u#0 [ print_line_cursor#0 test_16u::i#10 print_uint::w#4 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 print_uint::w#4 print_char_cursor#18 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [83] print_char_cursor#164 = print_line_cursor#0 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 print_schar::b#1 print_char_cursor#164 rem8s#10 ] ( test_8s:7 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 print_schar::b#1 print_char_cursor#164 rem8s#10 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:4 [ test_8s::i#10 test_8s::i#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:68 [ test_8s::divisor#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:72 [ test_8s::res#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ]
Removing always clobbered register reg byte a as potential for zp[1]:21 [ rem8s#10 rem8s#33 rem8s#1 ]
Statement [104] test_16s::$11 = test_16s::i#10 << 1 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:5 [ test_16s::i#10 test_16s::i#1 ]
Statement [105] test_16s::dividend#0 = test_16s::dividends[test_16s::$11] [ print_line_cursor#0 test_16s::i#10 test_16s::$11 test_16s::dividend#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 test_16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:73 [ test_16s::$11 ]
Statement [106] test_16s::divisor#0 = test_16s::divisors[test_16s::$11] [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [107] div16s::dividend#0 = test_16s::dividend#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [108] div16s::divisor#0 = test_16s::divisor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 div16s::divisor#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 div16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [110] div16s::return#2 = div16s::return#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#2 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#2 rem16s#12 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [111] test_16s::res#0 = div16s::return#2 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 test_16s::res#0 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 test_16s::res#0 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [112] print_sint::w#1 = test_16s::dividend#0 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [113] print_char_cursor#160 = print_line_cursor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 print_char_cursor#160 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 print_char_cursor#160 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [117] print_sint::w#2 = test_16s::divisor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 print_sint::w#2 rem16s#12 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 print_sint::w#2 rem16s#12 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [121] print_sint::w#3 = test_16s::res#0 [ print_line_cursor#0 test_16s::i#10 print_sint::w#3 rem16s#12 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 print_sint::w#3 rem16s#12 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [125] print_sint::w#4 = rem16s#12 [ print_line_cursor#0 test_16s::i#10 print_sint::w#4 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 print_sint::w#4 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [134] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:1::memset:12 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [136] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:1::memset:12 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [146] print_uchar::$0 = print_uchar::b#7 >> 4 [ print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] ( test_8u:3::print_uchar:24 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:28 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:32 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:36 [ test_8u::i#10 print_line_cursor#43 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:51 [ test_8u::divisor#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:53 [ test_8u::res#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:108 [ rem8u#18 ]
Removing always clobbered register reg byte a as potential for zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ]
Statement [149] print_uchar::$2 = print_uchar::b#7 & $f [ print_char_cursor#18 print_uchar::$2 ] ( test_8u:3::print_uchar:24 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_uchar:28 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:32 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:36 [ test_8u::i#10 print_line_cursor#43 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_uint:59::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  ) always clobbers reg byte a 
Statement [155] if(0!=*print_str::str#13) goto print_str::@2 [ print_char_cursor#18 print_str::str#13 ] ( test_8u:3::print_str:26 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_8u:3::print_str:30 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_8u:3::print_str:34 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:57 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:61 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:65 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:86 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:90 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:94 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:116 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:120 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:124 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  ) always clobbers reg byte a reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:2 [ test_8u::i#10 test_8u::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:51 [ test_8u::divisor#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:53 [ test_8u::res#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:108 [ rem8u#18 ]
Removing always clobbered register reg byte y as potential for zp[1]:3 [ test_16u::i#10 test_16u::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:4 [ test_8s::i#10 test_8s::i#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:68 [ test_8s::divisor#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:72 [ test_8s::res#0 ]
Removing always clobbered register reg byte y as potential for zp[1]:21 [ rem8s#10 rem8s#33 rem8s#1 ]
Removing always clobbered register reg byte y as potential for zp[1]:5 [ test_16s::i#10 test_16s::i#1 ]
Statement [157] print_char::ch#0 = *print_str::str#13 [ print_char_cursor#18 print_str::str#13 print_char::ch#0 ] ( test_8u:3::print_str:26 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:30 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:34 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:57 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:61 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:65 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:86 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:90 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:94 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:116 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:120 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:124 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  ) always clobbers reg byte a reg byte y 
Statement [162] print_line_cursor#0 = print_line_cursor#21 + $28 [ print_line_cursor#0 print_char_cursor#18 ] ( test_8u:3::print_ln:38 [ test_8u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#41 = print_line_cursor#43 } }  test_16u:5::print_ln:69 [ test_16u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_8s:7::print_ln:98 [ test_8s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_16s:9::print_ln:128 [ test_16s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  ) always clobbers reg byte a 
Statement [163] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1 [ print_line_cursor#0 print_char_cursor#18 ] ( test_8u:3::print_ln:38 [ test_8u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#41 = print_line_cursor#43 } }  test_16u:5::print_ln:69 [ test_16u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_8s:7::print_ln:98 [ test_8s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_16s:9::print_ln:128 [ test_16s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  ) always clobbers reg byte a 
Statement [165] divr16u::dividend#1 = div16u::dividend#0 [ div16u::divisor#0 divr16u::dividend#1 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::divisor#0 divr16u::dividend#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [166] divr16u::divisor#0 = div16u::divisor#0 [ divr16u::dividend#1 divr16u::divisor#0 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::dividend#1 divr16u::divisor#0 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [168] divr16u::return#2 = divr16u::return#0 [ rem16u#0 divr16u::return#2 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 rem16u#0 divr16u::return#2 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [169] div16u::return#0 = divr16u::return#2 [ div16u::return#0 rem16u#0 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#0 rem16u#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [189] rem8s#1 = - (signed char)rem8u#18 [ div8s::resultu#0 rem8s#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::resultu#0 rem8s#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:67 [ test_8s::dividend#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:96 [ div8s::resultu#0 ]
Statement [190] div8s::return#1 = - (signed char)div8s::resultu#0 [ rem8s#1 div8s::return#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 rem8s#1 div8s::return#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [195] div8s::divisoru#1 = - div8s::divisor#0 [ div8s::neg#3 div8s::dividendu#3 div8s::divisoru#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#3 div8s::dividendu#3 div8s::divisoru#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
Removing always clobbered register reg byte a as potential for zp[1]:17 [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
Statement [196] div8s::neg#2 = div8s::neg#3 ^ 1 [ div8s::dividendu#3 div8s::neg#2 div8s::divisoru#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::dividendu#3 div8s::neg#2 div8s::divisoru#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:97 [ div8s::divisoru#1 ]
Statement [198] div8s::dividendu#1 = - div8s::dividend#0 [ div8s::divisor#0 div8s::dividendu#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::divisor#0 div8s::dividendu#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:70 [ div8s::divisor#0 ]
Statement [210] print_schar::b#0 = - print_schar::b#10 [ print_char_cursor#18 print_schar::b#0 ] ( test_8s:7::print_schar:84 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } }  test_8s:7::print_schar:88 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 } }  test_8s:7::print_schar:92 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 } }  test_8s:7::print_schar:96 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [211] divr16s::dividend#0 = div16s::dividend#0 [ div16s::divisor#0 divr16s::dividend#0 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::divisor#0 divr16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [212] divr16s::divisor#0 = div16s::divisor#0 [ divr16s::dividend#0 divr16s::divisor#0 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividend#0 divr16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [214] divr16s::return#3 = divr16s::return#2 [ rem16s#12 divr16s::return#3 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16s#12 divr16s::return#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [215] div16s::return#0 = divr16s::return#3 [ div16s::return#0 rem16s#12 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#0 rem16s#12 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [218] if(print_sint::w#10<0) goto print_sint::@1 [ print_sint::w#10 print_char_cursor#135 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [222] print_uint::w#0 = (unsigned int)print_sint::w#7 [ print_char_cursor#18 print_uint::w#0 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  ) always clobbers reg byte a 
Statement [227] print_sint::w#0 = - print_sint::w#10 [ print_char_cursor#18 print_sint::w#0 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [233] divr8u::rem#2 = divr8u::rem#1 | 1 [ divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:50 [ test_8u::dividend#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:86 [ divr8u::divisor#0 ]
Removing always clobbered register reg byte a as potential for zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
Removing always clobbered register reg byte a as potential for zp[1]:28 [ divr8u::i#2 divr8u::i#1 ]
Statement [239] divr8u::rem#3 = divr8u::rem#5 - divr8u::divisor#0 [ divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Statement [246] *print_char_cursor#85 = print_char::ch#7 [ print_char_cursor#85 ] ( test_8u:3::print_uchar:24::print_char:148 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:28::print_char:148 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:32::print_char:148 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:36::print_char:148 [ test_8u::i#10 print_line_cursor#43 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:24::print_char:151 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_uchar:28::print_char:151 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:32::print_char:151 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:36::print_char:151 [ test_8u::i#10 print_line_cursor#43 print_char_cursor#85 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_uint:59::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_str:26::print_char:158 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:30::print_char:158 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:34::print_char:158 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:57::print_char:158 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:61::print_char:158 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:65::print_char:158 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:86::print_char:158 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:90::print_char:158 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:94::print_char:158 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:116::print_char:158 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:120::print_char:158 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:124::print_char:158 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_schar:84::print_char:203 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 print_char_cursor#85 } }  test_8s:7::print_schar:88::print_char:203 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:92::print_char:203 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:96::print_char:203 [ print_line_cursor#0 test_8s::i#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:84::print_char:209 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 print_char_cursor#85 } }  test_8s:7::print_schar:88::print_char:209 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:92::print_char:209 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:96::print_char:209 [ print_line_cursor#0 test_8s::i#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:114::print_char:220 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 print_char_cursor#85 } }  test_16s:9::print_sint:118::print_char:220 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:122::print_char:220 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:126::print_char:220 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:114::print_char:226 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 print_char_cursor#85 } }  test_16s:9::print_sint:118::print_char:226 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:122::print_char:226 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:126::print_char:226 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  ) always clobbers reg byte y 
Removing always clobbered register reg byte y as potential for zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ]
Removing always clobbered register reg byte y as potential for zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ]
Statement [255] divr16u::rem#1 = divr16u::rem#0 | 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:40 [ divr16u::i#2 divr16u::i#1 ]
Removing always clobbered register reg byte a as potential for zp[1]:45 [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ]
Statement [259] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [261] divr16u::rem#2 = divr16u::rem#6 - divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [265] rem16u#0 = divr16u::rem#11 [ rem16u#0 divr16u::return#0 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 rem16u#0 divr16u::return#0 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 rem16u#0 divr16u::return#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [267] if(divr16s::dividend#0<0) goto divr16s::@1 [ divr16s::dividend#0 divr16s::divisor#0 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividend#0 divr16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [268] divr16s::dividendu#8 = (unsigned int)divr16s::dividend#0 [ divr16s::divisor#0 divr16s::dividendu#8 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#8 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [270] if(divr16s::divisor#0<0) goto divr16s::@3 [ divr16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [271] divr16s::divisoru#5 = (unsigned int)divr16s::divisor#0 [ divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#5 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#5 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [273] divr16u::dividend#2 = divr16s::dividendu#3 [ divr16u::dividend#2 divr16s::divisoru#3 divr16s::neg#4 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16u::dividend#2 divr16s::divisoru#3 divr16s::neg#4 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [274] divr16u::divisor#1 = divr16s::divisoru#3 [ divr16u::dividend#2 divr16u::divisor#1 divr16s::neg#4 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16u::dividend#2 divr16u::divisor#1 divr16s::neg#4 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [276] divr16u::return#3 = divr16u::return#0 [ rem16u#0 divr16s::neg#4 divr16u::return#3 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::neg#4 divr16u::return#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [277] divr16s::resultu#0 = divr16u::return#3 [ rem16u#0 divr16s::neg#4 divr16s::resultu#0 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::neg#4 divr16s::resultu#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [279] rem16s#1 = - (int)rem16u#0 [ divr16s::resultu#0 rem16s#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::resultu#0 rem16s#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [280] divr16s::return#1 = - (int)divr16s::resultu#0 [ rem16s#1 divr16s::return#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16s#1 divr16s::return#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [283] divr16s::return#6 = (int)divr16s::resultu#0 [ rem16u#0 divr16s::return#6 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::return#6 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [284] rem16s#38 = (int)rem16u#0 [ divr16s::return#6 rem16s#38 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::return#6 rem16s#38 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [285] divr16s::divisoru#1 = - divr16s::divisor#0 [ divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [286] divr16s::neg#2 = divr16s::neg#3 ^ 1 [ divr16s::dividendu#3 divr16s::neg#2 divr16s::divisoru#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividendu#3 divr16s::neg#2 divr16s::divisoru#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [287] divr16s::divisoru#4 = (unsigned int)divr16s::divisoru#1 [ divr16s::dividendu#3 divr16s::divisoru#4 divr16s::neg#2 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividendu#3 divr16s::divisoru#4 divr16s::neg#2 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [288] divr16s::dividendu#1 = - divr16s::dividend#0 [ divr16s::divisor#0 divr16s::dividendu#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [289] divr16s::dividendu#7 = (unsigned int)divr16s::dividendu#1 [ divr16s::divisor#0 divr16s::dividendu#7 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#7 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [42] print_char_cursor#187 = print_line_cursor#0 [ test_8u::i#1 print_char_cursor#187 print_line_cursor#0 ] ( test_8u:3 [ test_8u::i#1 print_char_cursor#187 print_line_cursor#0 ] { }  ) always clobbers reg byte a 
Statement [45] test_16u::$11 = test_16u::i#10 << 1 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [46] test_16u::dividend#0 = test_16u::dividends[test_16u::$11] [ print_line_cursor#0 test_16u::i#10 test_16u::$11 test_16u::dividend#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 test_16u::dividend#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [47] test_16u::divisor#0 = test_16u::divisors[test_16u::$11] [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [48] div16u::dividend#0 = test_16u::dividend#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [49] div16u::divisor#0 = test_16u::divisor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 div16u::divisor#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 div16u::divisor#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [51] div16u::return#2 = div16u::return#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 rem16u#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [52] test_16u::res#0 = div16u::return#2 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [53] print_uint::w#1 = test_16u::dividend#0 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [54] print_char_cursor#169 = print_line_cursor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 print_char_cursor#169 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 print_char_cursor#169 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [58] print_uint::w#2 = test_16u::divisor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 print_uint::w#2 rem16u#0 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 print_uint::w#2 rem16u#0 print_char_cursor#18 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [62] print_uint::w#3 = test_16u::res#0 [ print_line_cursor#0 test_16u::i#10 print_uint::w#3 rem16u#0 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 print_uint::w#3 rem16u#0 print_char_cursor#18 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [66] print_uint::w#4 = rem16u#0 [ print_line_cursor#0 test_16u::i#10 print_uint::w#4 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 print_uint::w#4 print_char_cursor#18 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [83] print_char_cursor#164 = print_line_cursor#0 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 print_schar::b#1 print_char_cursor#164 rem8s#10 ] ( test_8s:7 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 print_schar::b#1 print_char_cursor#164 rem8s#10 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } }  ) always clobbers reg byte a 
Statement [104] test_16s::$11 = test_16s::i#10 << 1 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [105] test_16s::dividend#0 = test_16s::dividends[test_16s::$11] [ print_line_cursor#0 test_16s::i#10 test_16s::$11 test_16s::dividend#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 test_16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [106] test_16s::divisor#0 = test_16s::divisors[test_16s::$11] [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [107] div16s::dividend#0 = test_16s::dividend#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [108] div16s::divisor#0 = test_16s::divisor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 div16s::divisor#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 div16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [110] div16s::return#2 = div16s::return#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#2 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#2 rem16s#12 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [111] test_16s::res#0 = div16s::return#2 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 test_16s::res#0 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 test_16s::res#0 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [112] print_sint::w#1 = test_16s::dividend#0 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [113] print_char_cursor#160 = print_line_cursor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 print_char_cursor#160 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 print_char_cursor#160 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [117] print_sint::w#2 = test_16s::divisor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 print_sint::w#2 rem16s#12 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 print_sint::w#2 rem16s#12 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [121] print_sint::w#3 = test_16s::res#0 [ print_line_cursor#0 test_16s::i#10 print_sint::w#3 rem16s#12 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 print_sint::w#3 rem16s#12 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [125] print_sint::w#4 = rem16s#12 [ print_line_cursor#0 test_16s::i#10 print_sint::w#4 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 print_sint::w#4 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [134] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:1::memset:12 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [136] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:1::memset:12 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [146] print_uchar::$0 = print_uchar::b#7 >> 4 [ print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] ( test_8u:3::print_uchar:24 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:28 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:32 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:36 [ test_8u::i#10 print_line_cursor#43 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  ) always clobbers reg byte a 
Statement [149] print_uchar::$2 = print_uchar::b#7 & $f [ print_char_cursor#18 print_uchar::$2 ] ( test_8u:3::print_uchar:24 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_uchar:28 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:32 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:36 [ test_8u::i#10 print_line_cursor#43 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_uint:59::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  ) always clobbers reg byte a 
Statement [155] if(0!=*print_str::str#13) goto print_str::@2 [ print_char_cursor#18 print_str::str#13 ] ( test_8u:3::print_str:26 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_8u:3::print_str:30 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_8u:3::print_str:34 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:57 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:61 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:65 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:86 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:90 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:94 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:116 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:120 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:124 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [157] print_char::ch#0 = *print_str::str#13 [ print_char_cursor#18 print_str::str#13 print_char::ch#0 ] ( test_8u:3::print_str:26 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:30 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:34 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:57 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:61 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:65 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:86 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:90 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:94 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:116 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:120 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:124 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  ) always clobbers reg byte a reg byte y 
Statement [162] print_line_cursor#0 = print_line_cursor#21 + $28 [ print_line_cursor#0 print_char_cursor#18 ] ( test_8u:3::print_ln:38 [ test_8u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#41 = print_line_cursor#43 } }  test_16u:5::print_ln:69 [ test_16u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_8s:7::print_ln:98 [ test_8s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_16s:9::print_ln:128 [ test_16s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  ) always clobbers reg byte a 
Statement [163] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1 [ print_line_cursor#0 print_char_cursor#18 ] ( test_8u:3::print_ln:38 [ test_8u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#41 = print_line_cursor#43 } }  test_16u:5::print_ln:69 [ test_16u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_8s:7::print_ln:98 [ test_8s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_16s:9::print_ln:128 [ test_16s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  ) always clobbers reg byte a 
Statement [165] divr16u::dividend#1 = div16u::dividend#0 [ div16u::divisor#0 divr16u::dividend#1 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::divisor#0 divr16u::dividend#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [166] divr16u::divisor#0 = div16u::divisor#0 [ divr16u::dividend#1 divr16u::divisor#0 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::dividend#1 divr16u::divisor#0 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [168] divr16u::return#2 = divr16u::return#0 [ rem16u#0 divr16u::return#2 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 rem16u#0 divr16u::return#2 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [169] div16u::return#0 = divr16u::return#2 [ div16u::return#0 rem16u#0 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#0 rem16u#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [189] rem8s#1 = - (signed char)rem8u#18 [ div8s::resultu#0 rem8s#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::resultu#0 rem8s#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [190] div8s::return#1 = - (signed char)div8s::resultu#0 [ rem8s#1 div8s::return#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 rem8s#1 div8s::return#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [195] div8s::divisoru#1 = - div8s::divisor#0 [ div8s::neg#3 div8s::dividendu#3 div8s::divisoru#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#3 div8s::dividendu#3 div8s::divisoru#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [196] div8s::neg#2 = div8s::neg#3 ^ 1 [ div8s::dividendu#3 div8s::neg#2 div8s::divisoru#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::dividendu#3 div8s::neg#2 div8s::divisoru#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [198] div8s::dividendu#1 = - div8s::dividend#0 [ div8s::divisor#0 div8s::dividendu#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::divisor#0 div8s::dividendu#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [210] print_schar::b#0 = - print_schar::b#10 [ print_char_cursor#18 print_schar::b#0 ] ( test_8s:7::print_schar:84 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } }  test_8s:7::print_schar:88 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 } }  test_8s:7::print_schar:92 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 } }  test_8s:7::print_schar:96 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [211] divr16s::dividend#0 = div16s::dividend#0 [ div16s::divisor#0 divr16s::dividend#0 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::divisor#0 divr16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [212] divr16s::divisor#0 = div16s::divisor#0 [ divr16s::dividend#0 divr16s::divisor#0 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividend#0 divr16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [214] divr16s::return#3 = divr16s::return#2 [ rem16s#12 divr16s::return#3 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16s#12 divr16s::return#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [215] div16s::return#0 = divr16s::return#3 [ div16s::return#0 rem16s#12 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#0 rem16s#12 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [218] if(print_sint::w#10<0) goto print_sint::@1 [ print_sint::w#10 print_char_cursor#135 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [222] print_uint::w#0 = (unsigned int)print_sint::w#7 [ print_char_cursor#18 print_uint::w#0 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  ) always clobbers reg byte a 
Statement [227] print_sint::w#0 = - print_sint::w#10 [ print_char_cursor#18 print_sint::w#0 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [231] divr8u::$1 = divr8u::dividend#2 & $80 [ divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 divr8u::$1 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 divr8u::$1 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 divr8u::$1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Removing always clobbered register reg byte a as potential for zp[1]:25 [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ]
Statement [233] divr8u::rem#2 = divr8u::rem#1 | 1 [ divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Statement [239] divr8u::rem#3 = divr8u::rem#5 - divr8u::divisor#0 [ divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Statement [246] *print_char_cursor#85 = print_char::ch#7 [ print_char_cursor#85 ] ( test_8u:3::print_uchar:24::print_char:148 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:28::print_char:148 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:32::print_char:148 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:36::print_char:148 [ test_8u::i#10 print_line_cursor#43 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:24::print_char:151 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_uchar:28::print_char:151 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:32::print_char:151 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:36::print_char:151 [ test_8u::i#10 print_line_cursor#43 print_char_cursor#85 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_uint:59::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_str:26::print_char:158 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:30::print_char:158 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:34::print_char:158 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:57::print_char:158 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:61::print_char:158 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:65::print_char:158 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:86::print_char:158 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:90::print_char:158 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:94::print_char:158 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:116::print_char:158 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:120::print_char:158 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:124::print_char:158 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_schar:84::print_char:203 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 print_char_cursor#85 } }  test_8s:7::print_schar:88::print_char:203 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:92::print_char:203 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:96::print_char:203 [ print_line_cursor#0 test_8s::i#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:84::print_char:209 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 print_char_cursor#85 } }  test_8s:7::print_schar:88::print_char:209 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:92::print_char:209 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:96::print_char:209 [ print_line_cursor#0 test_8s::i#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:114::print_char:220 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 print_char_cursor#85 } }  test_16s:9::print_sint:118::print_char:220 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:122::print_char:220 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:126::print_char:220 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:114::print_char:226 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 print_char_cursor#85 } }  test_16s:9::print_sint:118::print_char:226 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:122::print_char:226 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:126::print_char:226 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  ) always clobbers reg byte y 
Statement [255] divr16u::rem#1 = divr16u::rem#0 | 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [259] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [261] divr16u::rem#2 = divr16u::rem#6 - divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [265] rem16u#0 = divr16u::rem#11 [ rem16u#0 divr16u::return#0 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 rem16u#0 divr16u::return#0 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 rem16u#0 divr16u::return#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [267] if(divr16s::dividend#0<0) goto divr16s::@1 [ divr16s::dividend#0 divr16s::divisor#0 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividend#0 divr16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [268] divr16s::dividendu#8 = (unsigned int)divr16s::dividend#0 [ divr16s::divisor#0 divr16s::dividendu#8 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#8 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [270] if(divr16s::divisor#0<0) goto divr16s::@3 [ divr16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [271] divr16s::divisoru#5 = (unsigned int)divr16s::divisor#0 [ divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#5 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#5 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [273] divr16u::dividend#2 = divr16s::dividendu#3 [ divr16u::dividend#2 divr16s::divisoru#3 divr16s::neg#4 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16u::dividend#2 divr16s::divisoru#3 divr16s::neg#4 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [274] divr16u::divisor#1 = divr16s::divisoru#3 [ divr16u::dividend#2 divr16u::divisor#1 divr16s::neg#4 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16u::dividend#2 divr16u::divisor#1 divr16s::neg#4 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [276] divr16u::return#3 = divr16u::return#0 [ rem16u#0 divr16s::neg#4 divr16u::return#3 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::neg#4 divr16u::return#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [277] divr16s::resultu#0 = divr16u::return#3 [ rem16u#0 divr16s::neg#4 divr16s::resultu#0 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::neg#4 divr16s::resultu#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [279] rem16s#1 = - (int)rem16u#0 [ divr16s::resultu#0 rem16s#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::resultu#0 rem16s#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [280] divr16s::return#1 = - (int)divr16s::resultu#0 [ rem16s#1 divr16s::return#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16s#1 divr16s::return#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [283] divr16s::return#6 = (int)divr16s::resultu#0 [ rem16u#0 divr16s::return#6 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::return#6 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [284] rem16s#38 = (int)rem16u#0 [ divr16s::return#6 rem16s#38 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::return#6 rem16s#38 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [285] divr16s::divisoru#1 = - divr16s::divisor#0 [ divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [286] divr16s::neg#2 = divr16s::neg#3 ^ 1 [ divr16s::dividendu#3 divr16s::neg#2 divr16s::divisoru#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividendu#3 divr16s::neg#2 divr16s::divisoru#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [287] divr16s::divisoru#4 = (unsigned int)divr16s::divisoru#1 [ divr16s::dividendu#3 divr16s::divisoru#4 divr16s::neg#2 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividendu#3 divr16s::divisoru#4 divr16s::neg#2 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [288] divr16s::dividendu#1 = - divr16s::dividend#0 [ divr16s::divisor#0 divr16s::dividendu#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [289] divr16s::dividendu#7 = (unsigned int)divr16s::dividendu#1 [ divr16s::divisor#0 divr16s::dividendu#7 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#7 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [42] print_char_cursor#187 = print_line_cursor#0 [ test_8u::i#1 print_char_cursor#187 print_line_cursor#0 ] ( test_8u:3 [ test_8u::i#1 print_char_cursor#187 print_line_cursor#0 ] { }  ) always clobbers reg byte a 
Statement [45] test_16u::$11 = test_16u::i#10 << 1 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [46] test_16u::dividend#0 = test_16u::dividends[test_16u::$11] [ print_line_cursor#0 test_16u::i#10 test_16u::$11 test_16u::dividend#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::$11 test_16u::dividend#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [47] test_16u::divisor#0 = test_16u::divisors[test_16u::$11] [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [48] div16u::dividend#0 = test_16u::dividend#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [49] div16u::divisor#0 = test_16u::divisor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 div16u::divisor#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::dividend#0 div16u::divisor#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [51] div16u::return#2 = div16u::return#0 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#2 rem16u#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [52] test_16u::res#0 = div16u::return#2 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 test_16u::res#0 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [53] print_uint::w#1 = test_16u::dividend#0 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [54] print_char_cursor#169 = print_line_cursor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 print_char_cursor#169 rem16u#0 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 print_uint::w#1 print_char_cursor#169 rem16u#0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } }  ) always clobbers reg byte a 
Statement [58] print_uint::w#2 = test_16u::divisor#0 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 print_uint::w#2 rem16u#0 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 print_uint::w#2 rem16u#0 print_char_cursor#18 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [62] print_uint::w#3 = test_16u::res#0 [ print_line_cursor#0 test_16u::i#10 print_uint::w#3 rem16u#0 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 print_uint::w#3 rem16u#0 print_char_cursor#18 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [66] print_uint::w#4 = rem16u#0 [ print_line_cursor#0 test_16u::i#10 print_uint::w#4 print_char_cursor#18 ] ( test_16u:5 [ print_line_cursor#0 test_16u::i#10 print_uint::w#4 print_char_cursor#18 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [83] print_char_cursor#164 = print_line_cursor#0 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 print_schar::b#1 print_char_cursor#164 rem8s#10 ] ( test_8s:7 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 print_schar::b#1 print_char_cursor#164 rem8s#10 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } }  ) always clobbers reg byte a 
Statement [104] test_16s::$11 = test_16s::i#10 << 1 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [105] test_16s::dividend#0 = test_16s::dividends[test_16s::$11] [ print_line_cursor#0 test_16s::i#10 test_16s::$11 test_16s::dividend#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::$11 test_16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [106] test_16s::divisor#0 = test_16s::divisors[test_16s::$11] [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [107] div16s::dividend#0 = test_16s::dividend#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [108] div16s::divisor#0 = test_16s::divisor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 div16s::divisor#0 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::dividend#0 div16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [110] div16s::return#2 = div16s::return#0 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#2 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#2 rem16s#12 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [111] test_16s::res#0 = div16s::return#2 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 test_16s::res#0 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 test_16s::res#0 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [112] print_sint::w#1 = test_16s::dividend#0 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [113] print_char_cursor#160 = print_line_cursor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 print_char_cursor#160 rem16s#12 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 print_sint::w#1 print_char_cursor#160 rem16s#12 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  ) always clobbers reg byte a 
Statement [117] print_sint::w#2 = test_16s::divisor#0 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 print_sint::w#2 rem16s#12 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 print_sint::w#2 rem16s#12 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [121] print_sint::w#3 = test_16s::res#0 [ print_line_cursor#0 test_16s::i#10 print_sint::w#3 rem16s#12 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 print_sint::w#3 rem16s#12 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [125] print_sint::w#4 = rem16s#12 [ print_line_cursor#0 test_16s::i#10 print_sint::w#4 print_char_cursor#18 ] ( test_16s:9 [ print_line_cursor#0 test_16s::i#10 print_sint::w#4 print_char_cursor#18 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [134] if(memset::dst#2!=memset::end#0) goto memset::@2 [ memset::dst#2 ] ( print_cls:1::memset:12 [ memset::dst#2 ] { }  ) always clobbers reg byte a 
Statement [136] *memset::dst#2 = memset::c#0 [ memset::dst#2 ] ( print_cls:1::memset:12 [ memset::dst#2 ] { }  ) always clobbers reg byte a reg byte y 
Statement [146] print_uchar::$0 = print_uchar::b#7 >> 4 [ print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] ( test_8u:3::print_uchar:24 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:28 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:32 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:36 [ test_8u::i#10 print_line_cursor#43 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 print_uchar::b#7 print_char_cursor#142 print_uchar::$0 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  ) always clobbers reg byte a 
Statement [149] print_uchar::$2 = print_uchar::b#7 & $f [ print_char_cursor#18 print_uchar::$2 ] ( test_8u:3::print_uchar:24 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_uchar:28 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:32 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:36 [ test_8u::i#10 print_line_cursor#43 print_char_cursor#18 print_uchar::$2 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_uint:59::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175 [ print_line_cursor#0 test_16u::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#18 print_uchar::$2 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  ) always clobbers reg byte a 
Statement [155] if(0!=*print_str::str#13) goto print_str::@2 [ print_char_cursor#18 print_str::str#13 ] ( test_8u:3::print_str:26 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_8u:3::print_str:30 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_8u:3::print_str:34 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:57 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:61 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_16u:5::print_str:65 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:86 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:90 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_8s:7::print_str:94 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:116 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:120 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  test_16s:9::print_str:124 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_str::str#13 ] { }  ) always clobbers reg byte a reg byte y 
Statement [157] print_char::ch#0 = *print_str::str#13 [ print_char_cursor#18 print_str::str#13 print_char::ch#0 ] ( test_8u:3::print_str:26 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:30 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:34 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:57 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:61 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:65 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:86 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:90 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:94 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:116 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:120 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:124 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_str::str#13 print_char::ch#0 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  ) always clobbers reg byte a reg byte y 
Statement [162] print_line_cursor#0 = print_line_cursor#21 + $28 [ print_line_cursor#0 print_char_cursor#18 ] ( test_8u:3::print_ln:38 [ test_8u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#41 = print_line_cursor#43 } }  test_16u:5::print_ln:69 [ test_16u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_8s:7::print_ln:98 [ test_8s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_16s:9::print_ln:128 [ test_16s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  ) always clobbers reg byte a 
Statement [163] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1 [ print_line_cursor#0 print_char_cursor#18 ] ( test_8u:3::print_ln:38 [ test_8u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#41 = print_line_cursor#43 } }  test_16u:5::print_ln:69 [ test_16u::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_8s:7::print_ln:98 [ test_8s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  test_16s:9::print_ln:128 [ test_16s::i#10 print_line_cursor#0 print_char_cursor#18 ] { { print_line_cursor#0 = print_line_cursor#41 } }  ) always clobbers reg byte a 
Statement [165] divr16u::dividend#1 = div16u::dividend#0 [ div16u::divisor#0 divr16u::dividend#1 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::divisor#0 divr16u::dividend#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [166] divr16u::divisor#0 = div16u::divisor#0 [ divr16u::dividend#1 divr16u::divisor#0 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::dividend#1 divr16u::divisor#0 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [168] divr16u::return#2 = divr16u::return#0 [ rem16u#0 divr16u::return#2 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 rem16u#0 divr16u::return#2 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  ) always clobbers reg byte a 
Statement [169] div16u::return#0 = divr16u::return#2 [ div16u::return#0 rem16u#0 ] ( test_16u:5::div16u:50 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 div16u::return#0 rem16u#0 ] { { div16u::dividend#0 = test_16u::dividend#0 } { div16u::divisor#0 = test_16u::divisor#0 } { div16u::return#0 = div16u::return#2 } }  ) always clobbers reg byte a 
Statement [189] rem8s#1 = - (signed char)rem8u#18 [ div8s::resultu#0 rem8s#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::resultu#0 rem8s#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [190] div8s::return#1 = - (signed char)div8s::resultu#0 [ rem8s#1 div8s::return#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 rem8s#1 div8s::return#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [195] div8s::divisoru#1 = - div8s::divisor#0 [ div8s::neg#3 div8s::dividendu#3 div8s::divisoru#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#3 div8s::dividendu#3 div8s::divisoru#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [196] div8s::neg#2 = div8s::neg#3 ^ 1 [ div8s::dividendu#3 div8s::neg#2 div8s::divisoru#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::dividendu#3 div8s::neg#2 div8s::divisoru#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [198] div8s::dividendu#1 = - div8s::dividend#0 [ div8s::divisor#0 div8s::dividendu#1 ] ( test_8s:7::div8s:79 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::divisor#0 div8s::dividendu#1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } }  ) always clobbers reg byte a 
Statement [210] print_schar::b#0 = - print_schar::b#10 [ print_char_cursor#18 print_schar::b#0 ] ( test_8s:7::print_schar:84 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } }  test_8s:7::print_schar:88 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 } }  test_8s:7::print_schar:92 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 } }  test_8s:7::print_schar:96 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#18 print_schar::b#0 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [211] divr16s::dividend#0 = div16s::dividend#0 [ div16s::divisor#0 divr16s::dividend#0 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::divisor#0 divr16s::dividend#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [212] divr16s::divisor#0 = div16s::divisor#0 [ divr16s::dividend#0 divr16s::divisor#0 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividend#0 divr16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [214] divr16s::return#3 = divr16s::return#2 [ rem16s#12 divr16s::return#3 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16s#12 divr16s::return#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [215] div16s::return#0 = divr16s::return#3 [ div16s::return#0 rem16s#12 ] ( test_16s:9::div16s:109 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 div16s::return#0 rem16s#12 ] { { div16s::dividend#0 = test_16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 } { div16s::return#0 = div16s::return#2 } }  ) always clobbers reg byte a 
Statement [218] if(print_sint::w#10<0) goto print_sint::@1 [ print_sint::w#10 print_char_cursor#135 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#135 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [222] print_uint::w#0 = (unsigned int)print_sint::w#7 [ print_char_cursor#18 print_uint::w#0 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_uint::w#0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 } { print_uint::w#0 = print_uint::w#5 } }  ) always clobbers reg byte a 
Statement [227] print_sint::w#0 = - print_sint::w#10 [ print_char_cursor#18 print_sint::w#0 ] ( test_16s:9::print_sint:114 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } }  test_16s:9::print_sint:118 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:122 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 } }  test_16s:9::print_sint:126 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#18 print_sint::w#0 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 } }  ) always clobbers reg byte a 
Statement [231] divr8u::$1 = divr8u::dividend#2 & $80 [ divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 divr8u::$1 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 divr8u::$1 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#1 divr8u::$1 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Statement [233] divr8u::rem#2 = divr8u::rem#1 | 1 [ divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::dividend#2 divr8u::quotient#3 divr8u::i#2 divr8u::rem#2 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Statement [239] divr8u::rem#3 = divr8u::rem#5 - divr8u::divisor#0 [ divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] ( test_8u:3::div8u:20::divr8u:141 [ test_8u::i#10 print_char_cursor#144 print_line_cursor#43 test_8u::dividend#0 test_8u::divisor#0 divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] { { div8u::dividend#1 = div8u::dividend#2 test_8u::dividend#0 divr8u::dividend#0 } { div8u::divisor#1 = div8u::divisor#2 test_8u::divisor#0 divr8u::divisor#0 } { div8u::return#0 = div8u::return#3 } { divr8u::return#0 = divr8u::return#1 } }  test_8s:7::div8s:79::div8u:185::divr8u:141 [ print_line_cursor#0 test_8s::i#10 test_8s::dividend#0 test_8s::divisor#0 div8s::neg#4 divr8u::divisor#0 divr8u::i#2 divr8u::dividend#1 divr8u::quotient#2 divr8u::rem#3 ] { { div8s::dividend#0 = test_8s::dividend#0 } { div8s::divisor#0 = test_8s::divisor#0 } { div8s::return#2 = div8s::return#3 } { div8u::dividend#0 = div8u::dividend#2 div8s::dividendu#3 divr8u::dividend#0 } { div8u::divisor#0 = div8u::divisor#2 div8s::divisoru#3 divr8u::divisor#0 } { div8u::return#0 = div8u::return#2 } { divr8u::return#0 = divr8u::return#1 } }  ) always clobbers reg byte a 
Statement [246] *print_char_cursor#85 = print_char::ch#7 [ print_char_cursor#85 ] ( test_8u:3::print_uchar:24::print_char:148 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:28::print_char:148 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:32::print_char:148 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:36::print_char:148 [ test_8u::i#10 print_line_cursor#43 print_uchar::b#7 print_char_cursor#85 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173::print_char:148 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16u::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175::print_char:148 [ print_line_cursor#0 test_16s::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206::print_char:148 [ print_line_cursor#0 test_8s::i#10 print_uchar::b#7 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#5 = print_char::ch#7 } }  test_8u:3::print_uchar:24::print_char:151 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#3 = print_uchar::b#7 test_8u::dividend#0 } { print_char_cursor#142 = print_char_cursor#144 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_uchar:28::print_char:151 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#4 = print_uchar::b#7 test_8u::divisor#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:32::print_char:151 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_char_cursor#85 ] { { print_uchar::b#5 = print_uchar::b#7 test_8u::res#0 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_uchar:36::print_char:151 [ test_8u::i#10 print_line_cursor#43 print_char_cursor#85 ] { { print_uchar::b#6 = print_uchar::b#7 rem8u#18 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 print_char_cursor#142 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_uint:59::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16u::i#10 print_uint::w#5 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:173::print_char:151 [ print_line_cursor#0 test_16s::i#10 print_uint::w#5 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#1 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:55::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_char_cursor#85 ] { { print_uint::w#1 = print_uint::w#5 test_16u::dividend#0 } { print_char_cursor#141 = print_char_cursor#169 } { print_uchar::b#2 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:59::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_char_cursor#85 ] { { print_uint::w#2 = print_uint::w#5 test_16u::divisor#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:63::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_char_cursor#85 ] { { print_uint::w#3 = print_uint::w#5 test_16u::res#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16u:5::print_uint:67::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16u::i#10 print_char_cursor#85 ] { { print_uint::w#4 = print_uint::w#5 rem16u#0 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:114::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 } { print_uint::w#0 = print_uint::w#5 } { print_char_cursor#141 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:118::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:122::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_16s:9::print_sint:126::print_uint:223::print_uchar:175::print_char:151 [ print_line_cursor#0 test_16s::i#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#141 print_char_cursor#142 print_char_cursor#85 } { print_uint::w#0 = print_uint::w#5 } { print_uchar::b#2 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:84::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 } { print_uchar::b#0 = print_uchar::b#7 } { print_char_cursor#142 = print_char_cursor#18 print_char_cursor#85 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:88::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:92::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8s:7::print_schar:96::print_uchar:206::print_char:151 [ print_line_cursor#0 test_8s::i#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#142 print_char_cursor#85 } { print_uchar::b#0 = print_uchar::b#7 } { print_char::ch#6 = print_char::ch#7 } }  test_8u:3::print_str:26::print_char:158 [ test_8u::i#10 print_line_cursor#43 test_8u::divisor#0 test_8u::res#0 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:30::print_char:158 [ test_8u::i#10 print_line_cursor#43 test_8u::res#0 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8u:3::print_str:34::print_char:158 [ test_8u::i#10 print_line_cursor#43 rem8u#18 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:57::print_char:158 [ print_line_cursor#0 test_16u::i#10 test_16u::divisor#0 test_16u::res#0 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:61::print_char:158 [ print_line_cursor#0 test_16u::i#10 test_16u::res#0 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16u:5::print_str:65::print_char:158 [ print_line_cursor#0 test_16u::i#10 rem16u#0 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:86::print_char:158 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:90::print_char:158 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_str:94::print_char:158 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:116::print_char:158 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:120::print_char:158 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_16s:9::print_str:124::print_char:158 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_str::str#13 print_char_cursor#85 ] { { print_char::ch#0 = print_char::ch#7 } { print_char_cursor#18 = print_char_cursor#85 } }  test_8s:7::print_schar:84::print_char:203 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 print_char_cursor#85 } }  test_8s:7::print_schar:88::print_char:203 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:92::print_char:203 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:96::print_char:203 [ print_line_cursor#0 test_8s::i#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:84::print_char:209 [ print_line_cursor#0 test_8s::i#10 test_8s::divisor#0 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#1 = print_schar::b#10 test_8s::dividend#0 } { print_char_cursor#138 = print_char_cursor#164 print_char_cursor#85 } }  test_8s:7::print_schar:88::print_char:209 [ print_line_cursor#0 test_8s::i#10 test_8s::res#0 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#2 test_8s::divisor#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:92::print_char:209 [ print_line_cursor#0 test_8s::i#10 rem8s#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#3 test_8s::res#0 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_8s:7::print_schar:96::print_char:209 [ print_line_cursor#0 test_8s::i#10 print_schar::b#10 print_char_cursor#85 ] { { print_schar::b#10 = print_schar::b#4 rem8s#10 } { print_char_cursor#138 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:114::print_char:220 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 print_char_cursor#85 } }  test_16s:9::print_sint:118::print_char:220 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:122::print_char:220 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:126::print_char:220 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:114::print_char:226 [ print_line_cursor#0 test_16s::i#10 test_16s::divisor#0 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#1 = print_sint::w#10 test_16s::dividend#0 } { print_char_cursor#135 = print_char_cursor#160 print_char_cursor#85 } }  test_16s:9::print_sint:118::print_char:226 [ print_line_cursor#0 test_16s::i#10 test_16s::res#0 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#2 test_16s::divisor#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:122::print_char:226 [ print_line_cursor#0 test_16s::i#10 rem16s#12 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#3 test_16s::res#0 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  test_16s:9::print_sint:126::print_char:226 [ print_line_cursor#0 test_16s::i#10 print_sint::w#10 print_char_cursor#85 ] { { print_sint::w#10 = print_sint::w#4 rem16s#12 } { print_char_cursor#135 = print_char_cursor#18 print_char_cursor#85 } }  ) always clobbers reg byte y 
Statement [255] divr16u::rem#1 = divr16u::rem#0 | 1 [ divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::dividend#3 divr16u::quotient#3 divr16u::i#2 divr16u::rem#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [259] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::rem#6 divr16u::quotient#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [261] divr16u::rem#2 = divr16u::rem#6 - divr16u::divisor#6 [ divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 divr16u::divisor#6 divr16u::i#2 divr16u::dividend#0 divr16u::quotient#2 divr16u::rem#2 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [265] rem16u#0 = divr16u::rem#11 [ rem16u#0 divr16u::return#0 ] ( test_16u:5::div16u:50::divr16u:167 [ print_line_cursor#0 test_16u::i#10 test_16u::dividend#0 test_16u::divisor#0 rem16u#0 divr16u::return#0 ] { { div16u::return#0 = div16u::return#2 } { divr16u::dividend#1 = divr16u::dividend#5 div16u::dividend#0 test_16u::dividend#0 } { divr16u::divisor#0 = divr16u::divisor#6 div16u::divisor#0 test_16u::divisor#0 } { divr16u::return#0 = divr16u::return#2 } }  test_16s:9::div16s:109::divr16s:213::divr16u:275 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#4 rem16u#0 divr16u::return#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [267] if(divr16s::dividend#0<0) goto divr16s::@1 [ divr16s::dividend#0 divr16s::divisor#0 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividend#0 divr16s::divisor#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [268] divr16s::dividendu#8 = (unsigned int)divr16s::dividend#0 [ divr16s::divisor#0 divr16s::dividendu#8 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#8 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [270] if(divr16s::divisor#0<0) goto divr16s::@3 [ divr16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [271] divr16s::divisoru#5 = (unsigned int)divr16s::divisor#0 [ divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#5 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#5 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [273] divr16u::dividend#2 = divr16s::dividendu#3 [ divr16u::dividend#2 divr16s::divisoru#3 divr16s::neg#4 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16u::dividend#2 divr16s::divisoru#3 divr16s::neg#4 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [274] divr16u::divisor#1 = divr16s::divisoru#3 [ divr16u::dividend#2 divr16u::divisor#1 divr16s::neg#4 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16u::dividend#2 divr16u::divisor#1 divr16s::neg#4 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [276] divr16u::return#3 = divr16u::return#0 [ rem16u#0 divr16s::neg#4 divr16u::return#3 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::neg#4 divr16u::return#3 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } { divr16u::dividend#2 = divr16u::dividend#5 divr16s::dividendu#3 } { divr16u::divisor#1 = divr16u::divisor#6 divr16s::divisoru#3 } { divr16u::return#0 = divr16u::return#3 } }  ) always clobbers reg byte a 
Statement [277] divr16s::resultu#0 = divr16u::return#3 [ rem16u#0 divr16s::neg#4 divr16s::resultu#0 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::neg#4 divr16s::resultu#0 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [279] rem16s#1 = - (int)rem16u#0 [ divr16s::resultu#0 rem16s#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::resultu#0 rem16s#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [280] divr16s::return#1 = - (int)divr16s::resultu#0 [ rem16s#1 divr16s::return#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16s#1 divr16s::return#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [283] divr16s::return#6 = (int)divr16s::resultu#0 [ rem16u#0 divr16s::return#6 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 rem16u#0 divr16s::return#6 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [284] rem16s#38 = (int)rem16u#0 [ divr16s::return#6 rem16s#38 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::return#6 rem16s#38 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [285] divr16s::divisoru#1 = - divr16s::divisor#0 [ divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::neg#3 divr16s::dividendu#3 divr16s::divisoru#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [286] divr16s::neg#2 = divr16s::neg#3 ^ 1 [ divr16s::dividendu#3 divr16s::neg#2 divr16s::divisoru#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividendu#3 divr16s::neg#2 divr16s::divisoru#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [287] divr16s::divisoru#4 = (unsigned int)divr16s::divisoru#1 [ divr16s::dividendu#3 divr16s::divisoru#4 divr16s::neg#2 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::dividendu#3 divr16s::divisoru#4 divr16s::neg#2 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [288] divr16s::dividendu#1 = - divr16s::dividend#0 [ divr16s::divisor#0 divr16s::dividendu#1 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#1 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Statement [289] divr16s::dividendu#7 = (unsigned int)divr16s::dividendu#1 [ divr16s::divisor#0 divr16s::dividendu#7 ] ( test_16s:9::div16s:109::divr16s:213 [ print_line_cursor#0 test_16s::i#10 test_16s::dividend#0 test_16s::divisor#0 divr16s::divisor#0 divr16s::dividendu#7 ] { { div16s::dividend#0 = test_16s::dividend#0 divr16s::dividend#0 } { div16s::divisor#0 = test_16s::divisor#0 divr16s::divisor#0 } { div16s::return#0 = div16s::return#2 } { divr16s::return#2 = divr16s::return#3 } }  ) always clobbers reg byte a 
Potential registers zp[1]:2 [ test_8u::i#10 test_8u::i#1 ] : zp[1]:2 , reg byte x , 
Potential registers zp[1]:3 [ test_16u::i#10 test_16u::i#1 ] : zp[1]:3 , reg byte x , 
Potential registers zp[1]:4 [ test_8s::i#10 test_8s::i#1 ] : zp[1]:4 , reg byte x , 
Potential registers zp[1]:5 [ test_16s::i#10 test_16s::i#1 ] : zp[1]:5 , reg byte x , 
Potential registers zp[2]:6 [ memset::dst#2 memset::dst#1 ] : zp[2]:6 , 
Potential registers zp[1]:8 [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ] : zp[1]:8 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:9 [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ] : zp[1]:9 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ] : zp[1]:10 , reg byte x , 
Potential registers zp[2]:11 [ print_str::str#13 print_str::str#16 print_str::str#0 ] : zp[2]:11 , 
Potential registers zp[2]:13 [ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ] : zp[2]:13 , 
Potential registers zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ] : zp[2]:15 , 
Potential registers zp[1]:17 [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ] : zp[1]:17 , reg byte x , reg byte y , 
Potential registers zp[1]:18 [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ] : zp[1]:18 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ] : zp[1]:19 , reg byte x , reg byte y , 
Potential registers zp[1]:20 [ div8s::return#2 div8s::return#6 div8s::return#1 ] : zp[1]:20 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:21 [ rem8s#10 rem8s#33 rem8s#1 ] : zp[1]:21 , reg byte x , 
Potential registers zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ] : zp[1]:22 , reg byte x , 
Potential registers zp[2]:23 [ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ] : zp[2]:23 , 
Potential registers zp[1]:25 [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ] : zp[1]:25 , reg byte x , reg byte y , 
Potential registers zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] : zp[1]:26 , reg byte x , reg byte y , 
Potential registers zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] : zp[1]:27 , reg byte x , reg byte y , 
Potential registers zp[1]:28 [ divr8u::i#2 divr8u::i#1 ] : zp[1]:28 , reg byte x , reg byte y , 
Potential registers zp[1]:29 [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ] : zp[1]:29 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:30 [ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ] : zp[2]:30 , 
Potential registers zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] : zp[2]:32 , 
Potential registers zp[2]:34 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] : zp[2]:34 , 
Potential registers zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] : zp[2]:36 , 
Potential registers zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] : zp[2]:38 , 
Potential registers zp[1]:40 [ divr16u::i#2 divr16u::i#1 ] : zp[1]:40 , reg byte x , reg byte y , 
Potential registers zp[2]:41 [ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ] : zp[2]:41 , 
Potential registers zp[2]:43 [ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ] : zp[2]:43 , 
Potential registers zp[1]:45 [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ] : zp[1]:45 , reg byte x , reg byte y , 
Potential registers zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 ] : zp[2]:46 , 
Potential registers zp[2]:48 [ rem16s#12 rem16s#38 rem16s#1 ] : zp[2]:48 , 
Potential registers zp[1]:50 [ test_8u::dividend#0 ] : zp[1]:50 , reg byte x , reg byte y , 
Potential registers zp[1]:51 [ test_8u::divisor#0 ] : zp[1]:51 , reg byte x , 
Potential registers zp[1]:52 [ div8u::return#3 ] : zp[1]:52 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:53 [ test_8u::res#0 ] : zp[1]:53 , reg byte x , 
Potential registers zp[1]:54 [ test_16u::$11 ] : zp[1]:54 , reg byte x , reg byte y , 
Potential registers zp[2]:55 [ test_16u::dividend#0 ] : zp[2]:55 , 
Potential registers zp[2]:57 [ test_16u::divisor#0 ] : zp[2]:57 , 
Potential registers zp[2]:59 [ div16u::dividend#0 ] : zp[2]:59 , 
Potential registers zp[2]:61 [ div16u::divisor#0 ] : zp[2]:61 , 
Potential registers zp[2]:63 [ div16u::return#2 ] : zp[2]:63 , 
Potential registers zp[2]:65 [ test_16u::res#0 ] : zp[2]:65 , 
Potential registers zp[1]:67 [ test_8s::dividend#0 ] : zp[1]:67 , reg byte x , reg byte y , 
Potential registers zp[1]:68 [ test_8s::divisor#0 ] : zp[1]:68 , reg byte x , 
Potential registers zp[1]:69 [ div8s::dividend#0 ] : zp[1]:69 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:70 [ div8s::divisor#0 ] : zp[1]:70 , reg byte x , reg byte y , 
Potential registers zp[1]:71 [ div8s::return#3 ] : zp[1]:71 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:72 [ test_8s::res#0 ] : zp[1]:72 , reg byte x , 
Potential registers zp[1]:73 [ test_16s::$11 ] : zp[1]:73 , reg byte x , reg byte y , 
Potential registers zp[2]:74 [ test_16s::dividend#0 ] : zp[2]:74 , 
Potential registers zp[2]:76 [ test_16s::divisor#0 ] : zp[2]:76 , 
Potential registers zp[2]:78 [ div16s::dividend#0 ] : zp[2]:78 , 
Potential registers zp[2]:80 [ div16s::divisor#0 ] : zp[2]:80 , 
Potential registers zp[2]:82 [ div16s::return#2 ] : zp[2]:82 , 
Potential registers zp[2]:84 [ test_16s::res#0 ] : zp[2]:84 , 
Potential registers zp[1]:86 [ divr8u::divisor#0 ] : zp[1]:86 , reg byte x , reg byte y , 
Potential registers zp[1]:87 [ divr8u::return#0 ] : zp[1]:87 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:88 [ div8u::return#0 ] : zp[1]:88 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:89 [ print_uchar::$0 ] : zp[1]:89 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:90 [ print_uchar::$2 ] : zp[1]:90 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:91 [ divr16u::return#2 ] : zp[2]:91 , 
Potential registers zp[2]:93 [ div16u::return#0 ] : zp[2]:93 , 
Potential registers zp[1]:95 [ div8u::return#2 ] : zp[1]:95 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:96 [ div8s::resultu#0 ] : zp[1]:96 , reg byte x , reg byte y , 
Potential registers zp[1]:97 [ div8s::divisoru#1 ] : zp[1]:97 , reg byte x , reg byte y , 
Potential registers zp[1]:98 [ div8s::dividendu#1 ] : zp[1]:98 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:99 [ divr16s::dividend#0 ] : zp[2]:99 , 
Potential registers zp[2]:101 [ divr16s::divisor#0 ] : zp[2]:101 , 
Potential registers zp[2]:103 [ divr16s::return#3 ] : zp[2]:103 , 
Potential registers zp[2]:105 [ div16s::return#0 ] : zp[2]:105 , 
Potential registers zp[1]:107 [ divr8u::$1 ] : zp[1]:107 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:108 [ rem8u#18 ] : zp[1]:108 , reg byte x , 
Potential registers zp[1]:109 [ divr16u::$1 ] : zp[1]:109 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[1]:110 [ divr16u::$2 ] : zp[1]:110 , reg byte a , reg byte x , reg byte y , 
Potential registers zp[2]:111 [ rem16u#0 ] : zp[2]:111 , 
Potential registers zp[2]:113 [ divr16u::return#3 ] : zp[2]:113 , 
Potential registers zp[2]:115 [ divr16s::resultu#0 ] : zp[2]:115 , 
Potential registers zp[2]:117 [ divr16s::divisoru#1 ] : zp[2]:117 , 
Potential registers zp[2]:119 [ divr16s::dividendu#1 ] : zp[2]:119 , 

REGISTER UPLIFT SCOPES
Uplift Scope [divr16u] 87,533,342.42: zp[2]:34 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] 31,787,289.18: zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] 20,000,002: zp[1]:109 [ divr16u::$1 ] 20,000,002: zp[1]:110 [ divr16u::$2 ] 16,538,463.19: zp[1]:40 [ divr16u::i#2 divr16u::i#1 ] 6,922,005.82: zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] 1,272,691.75: zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] 20,002: zp[2]:113 [ divr16u::return#3 ] 2,002: zp[2]:91 [ divr16u::return#2 ] 
Uplift Scope [divr8u] 90,033,342.67: zp[1]:25 [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ] 32,858,812.98: zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] 20,000,002: zp[1]:107 [ divr8u::$1 ] 16,666,668.33: zp[1]:28 [ divr8u::i#2 divr8u::i#1 ] 7,553,334.92: zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] 1,250,625.19: zp[1]:86 [ divr8u::divisor#0 ] 20,002: zp[1]:87 [ divr8u::return#0 ] 
Uplift Scope [print_char] 1,900,010: zp[1]:29 [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ] 
Uplift Scope [] 1,214,484.4: zp[2]:30 [ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ] 205,365.91: zp[2]:13 [ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ] 30,916.77: zp[2]:48 [ rem16s#12 rem16s#38 rem16s#1 ] 3,850.08: zp[1]:108 [ rem8u#18 ] 3,707.48: zp[2]:111 [ rem16u#0 ] 3,119.83: zp[1]:21 [ rem8s#10 rem8s#33 rem8s#1 ] 
Uplift Scope [print_uchar] 200,002: zp[1]:89 [ print_uchar::$0 ] 200,002: zp[1]:90 [ print_uchar::$2 ] 98,166.25: zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ] 
Uplift Scope [print_str] 301,254.25: zp[2]:11 [ print_str::str#13 print_str::str#16 print_str::str#0 ] 
Uplift Scope [divr16s] 55,005.5: zp[2]:43 [ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ] 44,290.14: zp[2]:41 [ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ] 37,004: zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 ] 20,002: zp[1]:45 [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ] 10,001: zp[2]:119 [ divr16s::dividendu#1 ] 7,001: zp[2]:99 [ divr16s::dividend#0 ] 5,000.5: zp[2]:117 [ divr16s::divisoru#1 ] 3,333.67: zp[2]:115 [ divr16s::resultu#0 ] 3,000.43: zp[2]:101 [ divr16s::divisor#0 ] 2,002: zp[2]:103 [ divr16s::return#3 ] 
Uplift Scope [div8u] 12,205: zp[1]:8 [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ] 7,755.5: zp[1]:9 [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ] 2,775.75: zp[1]:88 [ div8u::return#0 ] 2,002: zp[1]:95 [ div8u::return#2 ] 202: zp[1]:52 [ div8u::return#3 ] 
Uplift Scope [div8s] 5,505.5: zp[1]:18 [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ] 4,433: zp[1]:17 [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ] 3,704: zp[1]:20 [ div8s::return#2 div8s::return#6 div8s::return#1 ] 2,002: zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ] 1,001: zp[1]:98 [ div8s::dividendu#1 ] 701: zp[1]:69 [ div8s::dividend#0 ] 500.5: zp[1]:97 [ div8s::divisoru#1 ] 333.67: zp[1]:96 [ div8s::resultu#0 ] 300.43: zp[1]:70 [ div8s::divisor#0 ] 202: zp[1]:71 [ div8s::return#3 ] 
Uplift Scope [print_uint] 9,844.67: zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ] 
Uplift Scope [print_sint] 5,278.83: zp[2]:23 [ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ] 
Uplift Scope [print_schar] 5,278.83: zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ] 
Uplift Scope [memset] 3,336.67: zp[2]:6 [ memset::dst#2 memset::dst#1 ] 
Uplift Scope [div16u] 551: zp[2]:59 [ div16u::dividend#0 ] 551: zp[2]:61 [ div16u::divisor#0 ] 367.33: zp[2]:93 [ div16u::return#0 ] 202: zp[2]:63 [ div16u::return#2 ] 
Uplift Scope [div16s] 551: zp[2]:78 [ div16s::dividend#0 ] 551: zp[2]:80 [ div16s::divisor#0 ] 367.33: zp[2]:105 [ div16s::return#0 ] 202: zp[2]:82 [ div16s::return#2 ] 
Uplift Scope [test_16u] 163.15: zp[1]:3 [ test_16u::i#10 test_16u::i#1 ] 151.5: zp[1]:54 [ test_16u::$11 ] 43.29: zp[2]:55 [ test_16u::dividend#0 ] 27.55: zp[2]:57 [ test_16u::divisor#0 ] 20.2: zp[2]:65 [ test_16u::res#0 ] 
Uplift Scope [test_16s] 163.15: zp[1]:5 [ test_16s::i#10 test_16s::i#1 ] 151.5: zp[1]:73 [ test_16s::$11 ] 43.29: zp[2]:74 [ test_16s::dividend#0 ] 27.55: zp[2]:76 [ test_16s::divisor#0 ] 20.2: zp[2]:84 [ test_16s::res#0 ] 
Uplift Scope [test_8s] 167.66: zp[1]:4 [ test_8s::i#10 test_8s::i#1 ] 43.29: zp[1]:67 [ test_8s::dividend#0 ] 27.55: zp[1]:68 [ test_8s::divisor#0 ] 20.2: zp[1]:72 [ test_8s::res#0 ] 
Uplift Scope [test_8u] 117.83: zp[1]:2 [ test_8u::i#10 test_8u::i#1 ] 43.29: zp[1]:50 [ test_8u::dividend#0 ] 30.3: zp[1]:51 [ test_8u::divisor#0 ] 22.44: zp[1]:53 [ test_8u::res#0 ] 
Uplift Scope [print_ln] 
Uplift Scope [print_cls] 
Uplift Scope [RADIX] 
Uplift Scope [main] 

Uplifting [divr16u] best 43254 combination zp[2]:34 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] reg byte a [ divr16u::$1 ] reg byte a [ divr16u::$2 ] reg byte x [ divr16u::i#2 divr16u::i#1 ] zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] zp[2]:113 [ divr16u::return#3 ] zp[2]:91 [ divr16u::return#2 ] 
Uplifting [divr8u] best 41051 combination reg byte y [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ] zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] reg byte a [ divr8u::$1 ] reg byte x [ divr8u::i#2 divr8u::i#1 ] zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] zp[1]:86 [ divr8u::divisor#0 ] zp[1]:87 [ divr8u::return#0 ] 
Limited combination testing to 100 combinations of 3888 possible.
Uplifting [print_char] best 40730 combination reg byte a [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ] 
Uplifting [] best 40663 combination zp[2]:30 [ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ] zp[2]:13 [ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ] zp[2]:48 [ rem16s#12 rem16s#38 rem16s#1 ] reg byte x [ rem8u#18 ] zp[2]:111 [ rem16u#0 ] reg byte x [ rem8s#10 rem8s#33 rem8s#1 ] 
Uplifting [print_uchar] best 40655 combination reg byte a [ print_uchar::$0 ] reg byte a [ print_uchar::$2 ] zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ] 
Uplifting [print_str] best 40655 combination zp[2]:11 [ print_str::str#13 print_str::str#16 print_str::str#0 ] 
Uplifting [divr16s] best 40646 combination zp[2]:43 [ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ] zp[2]:41 [ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ] zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 ] reg byte y [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ] zp[2]:119 [ divr16s::dividendu#1 ] zp[2]:99 [ divr16s::dividend#0 ] zp[2]:117 [ divr16s::divisoru#1 ] zp[2]:115 [ divr16s::resultu#0 ] zp[2]:101 [ divr16s::divisor#0 ] zp[2]:103 [ divr16s::return#3 ] 
Uplifting [div8u] best 40532 combination reg byte x [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ] reg byte a [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ] reg byte a [ div8u::return#0 ] reg byte a [ div8u::return#2 ] zp[1]:52 [ div8u::return#3 ] 
Limited combination testing to 100 combinations of 1024 possible.
Uplifting [div8s] best 40478 combination reg byte a [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ] reg byte x [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ] reg byte a [ div8s::return#2 div8s::return#6 div8s::return#1 ] zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ] zp[1]:98 [ div8s::dividendu#1 ] zp[1]:69 [ div8s::dividend#0 ] zp[1]:97 [ div8s::divisoru#1 ] zp[1]:96 [ div8s::resultu#0 ] zp[1]:70 [ div8s::divisor#0 ] zp[1]:71 [ div8s::return#3 ] 
Limited combination testing to 100 combinations of 248832 possible.
Uplifting [print_uint] best 40478 combination zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ] 
Uplifting [print_sint] best 40478 combination zp[2]:23 [ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ] 
Uplifting [print_schar] best 40478 combination zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ] 
Uplifting [memset] best 40478 combination zp[2]:6 [ memset::dst#2 memset::dst#1 ] 
Uplifting [div16u] best 40478 combination zp[2]:59 [ div16u::dividend#0 ] zp[2]:61 [ div16u::divisor#0 ] zp[2]:93 [ div16u::return#0 ] zp[2]:63 [ div16u::return#2 ] 
Uplifting [div16s] best 40478 combination zp[2]:78 [ div16s::dividend#0 ] zp[2]:80 [ div16s::divisor#0 ] zp[2]:105 [ div16s::return#0 ] zp[2]:82 [ div16s::return#2 ] 
Uplifting [test_16u] best 40408 combination zp[1]:3 [ test_16u::i#10 test_16u::i#1 ] reg byte x [ test_16u::$11 ] zp[2]:55 [ test_16u::dividend#0 ] zp[2]:57 [ test_16u::divisor#0 ] zp[2]:65 [ test_16u::res#0 ] 
Uplifting [test_16s] best 40338 combination zp[1]:5 [ test_16s::i#10 test_16s::i#1 ] reg byte x [ test_16s::$11 ] zp[2]:74 [ test_16s::dividend#0 ] zp[2]:76 [ test_16s::divisor#0 ] zp[2]:84 [ test_16s::res#0 ] 
Uplifting [test_8s] best 40338 combination zp[1]:4 [ test_8s::i#10 test_8s::i#1 ] zp[1]:67 [ test_8s::dividend#0 ] zp[1]:68 [ test_8s::divisor#0 ] zp[1]:72 [ test_8s::res#0 ] 
Uplifting [test_8u] best 40338 combination zp[1]:2 [ test_8u::i#10 test_8u::i#1 ] zp[1]:50 [ test_8u::dividend#0 ] zp[1]:51 [ test_8u::divisor#0 ] zp[1]:53 [ test_8u::res#0 ] 
Uplifting [print_ln] best 40338 combination 
Uplifting [print_cls] best 40338 combination 
Uplifting [RADIX] best 40338 combination 
Uplifting [main] best 40338 combination 
Attempting to uplift remaining variables inzp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
Uplifting [divr8u] best 40338 combination zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] 
Attempting to uplift remaining variables inzp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
Uplifting [divr8u] best 40338 combination zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] 
Attempting to uplift remaining variables inzp[1]:86 [ divr8u::divisor#0 ]
Uplifting [divr8u] best 40338 combination zp[1]:86 [ divr8u::divisor#0 ] 
Attempting to uplift remaining variables inzp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ]
Uplifting [print_uchar] best 40338 combination zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ] 
Attempting to uplift remaining variables inzp[1]:87 [ divr8u::return#0 ]
Uplifting [divr8u] best 40332 combination reg byte a [ divr8u::return#0 ] 
Attempting to uplift remaining variables inzp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ]
Uplifting [print_schar] best 40332 combination zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ] 
Attempting to uplift remaining variables inzp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
Uplifting [div8s] best 40332 combination zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ] 
Attempting to uplift remaining variables inzp[1]:98 [ div8s::dividendu#1 ]
Uplifting [div8s] best 40328 combination reg byte a [ div8s::dividendu#1 ] 
Attempting to uplift remaining variables inzp[1]:69 [ div8s::dividend#0 ]
Uplifting [div8s] best 40293 combination reg byte x [ div8s::dividend#0 ] 
Attempting to uplift remaining variables inzp[1]:97 [ div8s::divisoru#1 ]
Uplifting [div8s] best 40291 combination reg byte y [ div8s::divisoru#1 ] 
Attempting to uplift remaining variables inzp[1]:96 [ div8s::resultu#0 ]
Uplifting [div8s] best 40288 combination reg byte y [ div8s::resultu#0 ] 
Attempting to uplift remaining variables inzp[1]:70 [ div8s::divisor#0 ]
Uplifting [div8s] best 40255 combination reg byte y [ div8s::divisor#0 ] 
Attempting to uplift remaining variables inzp[1]:52 [ div8u::return#3 ]
Uplifting [div8u] best 40195 combination reg byte a [ div8u::return#3 ] 
Attempting to uplift remaining variables inzp[1]:71 [ div8s::return#3 ]
Uplifting [div8s] best 40135 combination reg byte a [ div8s::return#3 ] 
Attempting to uplift remaining variables inzp[1]:4 [ test_8s::i#10 test_8s::i#1 ]
Uplifting [test_8s] best 40135 combination zp[1]:4 [ test_8s::i#10 test_8s::i#1 ] 
Attempting to uplift remaining variables inzp[1]:3 [ test_16u::i#10 test_16u::i#1 ]
Uplifting [test_16u] best 40135 combination zp[1]:3 [ test_16u::i#10 test_16u::i#1 ] 
Attempting to uplift remaining variables inzp[1]:5 [ test_16s::i#10 test_16s::i#1 ]
Uplifting [test_16s] best 40135 combination zp[1]:5 [ test_16s::i#10 test_16s::i#1 ] 
Attempting to uplift remaining variables inzp[1]:2 [ test_8u::i#10 test_8u::i#1 ]
Uplifting [test_8u] best 40135 combination zp[1]:2 [ test_8u::i#10 test_8u::i#1 ] 
Attempting to uplift remaining variables inzp[1]:50 [ test_8u::dividend#0 ]
Uplifting [test_8u] best 40135 combination zp[1]:50 [ test_8u::dividend#0 ] 
Attempting to uplift remaining variables inzp[1]:67 [ test_8s::dividend#0 ]
Uplifting [test_8s] best 40135 combination zp[1]:67 [ test_8s::dividend#0 ] 
Attempting to uplift remaining variables inzp[1]:51 [ test_8u::divisor#0 ]
Uplifting [test_8u] best 40135 combination zp[1]:51 [ test_8u::divisor#0 ] 
Attempting to uplift remaining variables inzp[1]:68 [ test_8s::divisor#0 ]
Uplifting [test_8s] best 40135 combination zp[1]:68 [ test_8s::divisor#0 ] 
Attempting to uplift remaining variables inzp[1]:53 [ test_8u::res#0 ]
Uplifting [test_8u] best 40135 combination zp[1]:53 [ test_8u::res#0 ] 
Attempting to uplift remaining variables inzp[1]:72 [ test_8s::res#0 ]
Uplifting [test_8s] best 40135 combination zp[1]:72 [ test_8s::res#0 ] 
Coalescing zero page register [ zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 ] ] with [ zp[2]:115 [ divr16s::resultu#0 ] ] - score: 2
Coalescing zero page register [ zp[2]:48 [ rem16s#12 rem16s#38 rem16s#1 ] ] with [ zp[2]:111 [ rem16u#0 ] ] - score: 2
Coalescing zero page register [ zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 ] ] with [ zp[1]:22 [ print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ] ] - score: 1
Coalescing zero page register [ zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 ] ] with [ zp[1]:50 [ test_8u::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 ] ] with [ zp[2]:23 [ print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ] ] - score: 1
Coalescing zero page register [ zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 ] ] with [ zp[2]:55 [ test_16u::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 ] ] with [ zp[2]:43 [ divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ] ] - score: 1
Coalescing zero page register [ zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 ] ] with [ zp[2]:61 [ div16u::divisor#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 ] ] with [ zp[2]:41 [ divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ] ] - score: 1
Coalescing zero page register [ zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 ] ] with [ zp[2]:59 [ div16u::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 ] ] with [ zp[2]:91 [ divr16u::return#2 ] ] - score: 1
Coalescing zero page register [ zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 ] ] with [ zp[2]:113 [ divr16u::return#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 divr16s::resultu#0 ] ] with [ zp[2]:103 [ divr16s::return#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:63 [ div16u::return#2 ] ] with [ zp[2]:65 [ test_16u::res#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:63 [ div16u::return#2 test_16u::res#0 ] ] with [ zp[2]:93 [ div16u::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:74 [ test_16s::dividend#0 ] ] with [ zp[2]:78 [ div16s::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:76 [ test_16s::divisor#0 ] ] with [ zp[2]:80 [ div16s::divisor#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:82 [ div16s::return#2 ] ] with [ zp[2]:84 [ test_16s::res#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:82 [ div16s::return#2 test_16s::res#0 ] ] with [ zp[2]:105 [ div16s::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:99 [ divr16s::dividend#0 ] ] with [ zp[2]:119 [ divr16s::dividendu#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:101 [ divr16s::divisor#0 ] ] with [ zp[2]:117 [ divr16s::divisoru#1 ] ] - score: 1
Coalescing zero page register [ zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 div16u::divisor#0 ] ] with [ zp[2]:101 [ divr16s::divisor#0 divr16s::divisoru#1 ] ] - score: 2
Coalescing zero page register [ zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 div16u::dividend#0 ] ] with [ zp[2]:99 [ divr16s::dividend#0 divr16s::dividendu#1 ] ] - score: 2
Coalescing zero page register [ zp[1]:10 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 test_8u::dividend#0 ] ] with [ zp[1]:67 [ test_8s::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 test_16u::dividend#0 ] ] with [ zp[2]:74 [ test_16s::dividend#0 div16s::dividend#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:32 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 div16u::divisor#0 divr16s::divisor#0 divr16s::divisoru#1 ] ] with [ zp[2]:57 [ test_16u::divisor#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:34 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 ] ] with [ zp[2]:48 [ rem16s#12 rem16s#38 rem16s#1 rem16u#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 ] ] with [ zp[2]:46 [ divr16s::return#2 divr16s::return#6 divr16s::return#1 divr16s::resultu#0 divr16s::return#3 ] ] - score: 1
Coalescing zero page register [ zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 divr16s::return#2 divr16s::return#6 divr16s::return#1 divr16s::resultu#0 divr16s::return#3 ] ] with [ zp[2]:63 [ div16u::return#2 test_16u::res#0 div16u::return#0 ] ] - score: 1
Coalescing zero page register [ zp[2]:38 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 divr16s::return#2 divr16s::return#6 divr16s::return#1 divr16s::resultu#0 divr16s::return#3 div16u::return#2 test_16u::res#0 div16u::return#0 ] ] with [ zp[2]:82 [ div16s::return#2 test_16s::res#0 div16s::return#0 ] ] - score: 1
Coalescing zero page register [ zp[1]:3 [ test_16u::i#10 test_16u::i#1 ] ] with [ zp[1]:2 [ test_8u::i#10 test_8u::i#1 ] ]
Coalescing zero page register [ zp[1]:5 [ test_16s::i#10 test_16s::i#1 ] ] with [ zp[1]:4 [ test_8s::i#10 test_8s::i#1 ] ]
Coalescing zero page register [ zp[2]:11 [ print_str::str#13 print_str::str#16 print_str::str#0 ] ] with [ zp[2]:6 [ memset::dst#2 memset::dst#1 ] ]
Coalescing zero page register [ zp[2]:36 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 div16u::dividend#0 divr16s::dividend#0 divr16s::dividendu#1 ] ] with [ zp[2]:30 [ print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ] ]
Coalescing zero page register [ zp[1]:51 [ test_8u::divisor#0 ] ] with [ zp[1]:19 [ div8s::neg#4 div8s::neg#2 div8s::neg#3 ] ]
Coalescing zero page register [ zp[1]:53 [ test_8u::res#0 ] ] with [ zp[1]:26 [ divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ] ]
Coalescing zero page register [ zp[1]:72 [ test_8s::res#0 ] ] with [ zp[1]:27 [ divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ] ]
Coalescing zero page register [ zp[1]:5 [ test_16s::i#10 test_16s::i#1 test_8s::i#10 test_8s::i#1 ] ] with [ zp[1]:3 [ test_16u::i#10 test_16u::i#1 test_8u::i#10 test_8u::i#1 ] ]
Coalescing zero page register [ zp[2]:15 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 test_16u::dividend#0 test_16s::dividend#0 div16s::dividend#0 ] ] with [ zp[2]:11 [ print_str::str#13 print_str::str#16 print_str::str#0 memset::dst#2 memset::dst#1 ] ]
Allocated (was zp[1]:5) zp[1]:2 [ test_16s::i#10 test_16s::i#1 test_8s::i#10 test_8s::i#1 test_16u::i#10 test_16u::i#1 test_8u::i#10 test_8u::i#1 ]
Allocated (was zp[1]:10) zp[1]:3 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 test_8u::dividend#0 test_8s::dividend#0 ]
Allocated (was zp[2]:13) zp[2]:4 [ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ]
Allocated (was zp[2]:15) zp[2]:6 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 test_16u::dividend#0 test_16s::dividend#0 div16s::dividend#0 print_str::str#13 print_str::str#16 print_str::str#0 memset::dst#2 memset::dst#1 ]
Allocated (was zp[2]:32) zp[2]:8 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 div16u::divisor#0 divr16s::divisor#0 divr16s::divisoru#1 test_16u::divisor#0 ]
Allocated (was zp[2]:34) zp[2]:10 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16s#12 rem16s#38 rem16s#1 rem16u#0 ]
Allocated (was zp[2]:36) zp[2]:12 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 div16u::dividend#0 divr16s::dividend#0 divr16s::dividendu#1 print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ]
Allocated (was zp[2]:38) zp[2]:14 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 divr16s::return#2 divr16s::return#6 divr16s::return#1 divr16s::resultu#0 divr16s::return#3 div16u::return#2 test_16u::res#0 div16u::return#0 div16s::return#2 test_16s::res#0 div16s::return#0 ]
Allocated (was zp[1]:51) zp[1]:16 [ test_8u::divisor#0 div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
Allocated (was zp[1]:53) zp[1]:17 [ test_8u::res#0 divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
Allocated (was zp[1]:68) zp[1]:18 [ test_8s::divisor#0 ]
Allocated (was zp[1]:72) zp[1]:19 [ test_8s::res#0 divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
Allocated (was zp[2]:76) zp[2]:20 [ test_16s::divisor#0 div16s::divisor#0 ]
Allocated (was zp[1]:86) zp[1]:22 [ divr8u::divisor#0 ]

ASSEMBLER BEFORE OPTIMIZATION
  // File Comments
// Test the binary division library
/// @file
/// A lightweight library for printing on the C64.
///
/// Printing with this library is done by calling print_ function for each element
  // Upstart
  // Commodore 64 PRG executable file
.file [name="test-division.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(main)
  // Global Constants & labels
  .label print_screen = $400
  .label print_line_cursor = 4
  .label print_char_cursor = $c
  // Remainder after unsigned 16-bit division
  .label rem16u = $a
  // Remainder after signed 16 bit division
  .label rem16s = $a
.segment Code
  // main
main: {
    // [1] call print_cls
    // [11] phi from main to print_cls [phi:main->print_cls]
  print_cls_from_main:
    jsr print_cls
    // [2] phi from main to main::@1 [phi:main->main::@1]
  __b1_from_main:
    jmp __b1
    // main::@1
  __b1:
    // [3] call test_8u
    // [14] phi from main::@1 to test_8u [phi:main::@1->test_8u]
  test_8u_from___b1:
    jsr test_8u
    // [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
  __b2_from___b1:
    jmp __b2
    // main::@2
  __b2:
    // [5] call test_16u
    // [43] phi from main::@2 to test_16u [phi:main::@2->test_16u]
  test_16u_from___b2:
    jsr test_16u
    // [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
  __b3_from___b2:
    jmp __b3
    // main::@3
  __b3:
    // [7] call test_8s
    // [73] phi from main::@3 to test_8s [phi:main::@3->test_8s]
  test_8s_from___b3:
    jsr test_8s
    // [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
  __b4_from___b3:
    jmp __b4
    // main::@4
  __b4:
    // [9] call test_16s
    // [102] phi from main::@4 to test_16s [phi:main::@4->test_16s]
  test_16s_from___b4:
    jsr test_16s
    jmp __breturn
    // main::@return
  __breturn:
    // [10] return 
    rts
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // [12] call memset
    // [132] phi from print_cls to memset [phi:print_cls->memset]
  memset_from_print_cls:
    jsr memset
    jmp __breturn
    // print_cls::@return
  __breturn:
    // [13] return 
    rts
}
  // test_8u
test_8u: {
    .label dividend = 3
    .label divisor = $10
    .label res = $11
    .label i = 2
    // [15] phi from test_8u to test_8u::@1 [phi:test_8u->test_8u::@1]
  __b1_from_test_8u:
    // [15] phi print_line_cursor#43 = print_screen#0 [phi:test_8u->test_8u::@1#0] -- pbuz1=pbuc1 
    lda #<print_screen
    sta.z print_line_cursor
    lda #>print_screen
    sta.z print_line_cursor+1
    // [15] phi print_char_cursor#144 = print_screen#0 [phi:test_8u->test_8u::@1#1] -- pbuz1=pbuc1 
    lda #<print_screen
    sta.z print_char_cursor
    lda #>print_screen
    sta.z print_char_cursor+1
    // [15] phi test_8u::i#10 = 0 [phi:test_8u->test_8u::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // test_8u::@1
  __b1:
    // [16] test_8u::dividend#0 = test_8u::dividends[test_8u::i#10] -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda dividends,y
    sta.z dividend
    // [17] test_8u::divisor#0 = test_8u::divisors[test_8u::i#10] -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda divisors,y
    sta.z divisor
    // [18] div8u::dividend#1 = test_8u::dividend#0 -- vbuxx=vbuz1 
    ldx.z dividend
    // [19] div8u::divisor#1 = test_8u::divisor#0 -- vbuaa=vbuz1 
    lda.z divisor
    // [20] call div8u
    // [138] phi from test_8u::@1 to div8u [phi:test_8u::@1->div8u]
  div8u_from___b1:
    // [138] phi div8u::divisor#2 = div8u::divisor#1 [phi:test_8u::@1->div8u#0] -- register_copy 
    // [138] phi div8u::dividend#2 = div8u::dividend#1 [phi:test_8u::@1->div8u#1] -- register_copy 
    jsr div8u
    // [21] div8u::return#3 = div8u::return#0
    jmp __b2
    // test_8u::@2
  __b2:
    // [22] test_8u::res#0 = div8u::return#3 -- vbuz1=vbuaa 
    sta.z res
    // [23] print_uchar::b#3 = test_8u::dividend#0
    // [24] call print_uchar
    // [145] phi from test_8u::@2 to print_uchar [phi:test_8u::@2->print_uchar]
  print_uchar_from___b2:
    // [145] phi print_char_cursor#142 = print_char_cursor#144 [phi:test_8u::@2->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#3 [phi:test_8u::@2->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [25] phi from test_8u::@2 to test_8u::@3 [phi:test_8u::@2->test_8u::@3]
  __b3_from___b2:
    jmp __b3
    // test_8u::@3
  __b3:
    // [26] call print_str
    // [153] phi from test_8u::@3 to print_str [phi:test_8u::@3->print_str]
  print_str_from___b3:
    // [153] phi print_str::str#16 = str [phi:test_8u::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    jmp __b4
    // test_8u::@4
  __b4:
    // [27] print_uchar::b#4 = test_8u::divisor#0 -- vbuz1=vbuz2 
    lda.z divisor
    sta.z print_uchar.b
    // [28] call print_uchar
    // [145] phi from test_8u::@4 to print_uchar [phi:test_8u::@4->print_uchar]
  print_uchar_from___b4:
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:test_8u::@4->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#4 [phi:test_8u::@4->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [29] phi from test_8u::@4 to test_8u::@5 [phi:test_8u::@4->test_8u::@5]
  __b5_from___b4:
    jmp __b5
    // test_8u::@5
  __b5:
    // [30] call print_str
    // [153] phi from test_8u::@5 to print_str [phi:test_8u::@5->print_str]
  print_str_from___b5:
    // [153] phi print_str::str#16 = str1 [phi:test_8u::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    jmp __b6
    // test_8u::@6
  __b6:
    // [31] print_uchar::b#5 = test_8u::res#0 -- vbuz1=vbuz2 
    lda.z res
    sta.z print_uchar.b
    // [32] call print_uchar
    // [145] phi from test_8u::@6 to print_uchar [phi:test_8u::@6->print_uchar]
  print_uchar_from___b6:
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:test_8u::@6->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#5 [phi:test_8u::@6->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [33] phi from test_8u::@6 to test_8u::@7 [phi:test_8u::@6->test_8u::@7]
  __b7_from___b6:
    jmp __b7
    // test_8u::@7
  __b7:
    // [34] call print_str
    // [153] phi from test_8u::@7 to print_str [phi:test_8u::@7->print_str]
  print_str_from___b7:
    // [153] phi print_str::str#16 = str2 [phi:test_8u::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    jmp __b8
    // test_8u::@8
  __b8:
    // [35] print_uchar::b#6 = rem8u#18 -- vbuz1=vbuxx 
    stx.z print_uchar.b
    // [36] call print_uchar
    // [145] phi from test_8u::@8 to print_uchar [phi:test_8u::@8->print_uchar]
  print_uchar_from___b8:
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:test_8u::@8->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#6 [phi:test_8u::@8->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [37] phi from test_8u::@8 to test_8u::@9 [phi:test_8u::@8->test_8u::@9]
  __b9_from___b8:
    jmp __b9
    // test_8u::@9
  __b9:
    // [38] call print_ln
    // [160] phi from test_8u::@9 to print_ln [phi:test_8u::@9->print_ln]
  print_ln_from___b9:
    // [160] phi print_line_cursor#41 = print_line_cursor#43 [phi:test_8u::@9->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b10
    // test_8u::@10
  __b10:
    // [39] test_8u::i#1 = ++ test_8u::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [40] if(test_8u::i#1!=6) goto test_8u::@11 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b11
    jmp __breturn
    // test_8u::@return
  __breturn:
    // [41] return 
    rts
    // test_8u::@11
  __b11:
    // [42] print_char_cursor#187 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [15] phi from test_8u::@11 to test_8u::@1 [phi:test_8u::@11->test_8u::@1]
  __b1_from___b11:
    // [15] phi print_line_cursor#43 = print_line_cursor#0 [phi:test_8u::@11->test_8u::@1#0] -- register_copy 
    // [15] phi print_char_cursor#144 = print_char_cursor#187 [phi:test_8u::@11->test_8u::@1#1] -- register_copy 
    // [15] phi test_8u::i#10 = test_8u::i#1 [phi:test_8u::@11->test_8u::@1#2] -- register_copy 
    jmp __b1
  .segment Data
    dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff
    divisors: .byte 5, 7, $b, $d, $11, $13
}
.segment Code
  // test_16u
test_16u: {
    .label dividend = 6
    .label divisor = 8
    .label res = $e
    .label i = 2
    // [44] phi from test_16u to test_16u::@1 [phi:test_16u->test_16u::@1]
  __b1_from_test_16u:
    // [44] phi test_16u::i#10 = 0 [phi:test_16u->test_16u::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // [44] phi from test_16u::@10 to test_16u::@1 [phi:test_16u::@10->test_16u::@1]
  __b1_from___b10:
    // [44] phi test_16u::i#10 = test_16u::i#1 [phi:test_16u::@10->test_16u::@1#0] -- register_copy 
    jmp __b1
    // test_16u::@1
  __b1:
    // [45] test_16u::$11 = test_16u::i#10 << 1 -- vbuxx=vbuz1_rol_1 
    lda.z i
    asl
    tax
    // [46] test_16u::dividend#0 = test_16u::dividends[test_16u::$11] -- vwuz1=pwuc1_derefidx_vbuxx 
    lda dividends,x
    sta.z dividend
    lda dividends+1,x
    sta.z dividend+1
    // [47] test_16u::divisor#0 = test_16u::divisors[test_16u::$11] -- vwuz1=pwuc1_derefidx_vbuxx 
    lda divisors,x
    sta.z divisor
    lda divisors+1,x
    sta.z divisor+1
    // [48] div16u::dividend#0 = test_16u::dividend#0 -- vwuz1=vwuz2 
    lda.z dividend
    sta.z div16u.dividend
    lda.z dividend+1
    sta.z div16u.dividend+1
    // [49] div16u::divisor#0 = test_16u::divisor#0
    // [50] call div16u
    jsr div16u
    // [51] div16u::return#2 = div16u::return#0
    jmp __b2
    // test_16u::@2
  __b2:
    // [52] test_16u::res#0 = div16u::return#2
    // [53] print_uint::w#1 = test_16u::dividend#0
    // [54] print_char_cursor#169 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [55] call print_uint
    // [171] phi from test_16u::@2 to print_uint [phi:test_16u::@2->print_uint]
  print_uint_from___b2:
    // [171] phi print_char_cursor#141 = print_char_cursor#169 [phi:test_16u::@2->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#1 [phi:test_16u::@2->print_uint#1] -- register_copy 
    jsr print_uint
    // [56] phi from test_16u::@2 to test_16u::@3 [phi:test_16u::@2->test_16u::@3]
  __b3_from___b2:
    jmp __b3
    // test_16u::@3
  __b3:
    // [57] call print_str
    // [153] phi from test_16u::@3 to print_str [phi:test_16u::@3->print_str]
  print_str_from___b3:
    // [153] phi print_str::str#16 = str [phi:test_16u::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    jmp __b4
    // test_16u::@4
  __b4:
    // [58] print_uint::w#2 = test_16u::divisor#0 -- vwuz1=vwuz2 
    lda.z divisor
    sta.z print_uint.w
    lda.z divisor+1
    sta.z print_uint.w+1
    // [59] call print_uint
    // [171] phi from test_16u::@4 to print_uint [phi:test_16u::@4->print_uint]
  print_uint_from___b4:
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:test_16u::@4->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#2 [phi:test_16u::@4->print_uint#1] -- register_copy 
    jsr print_uint
    // [60] phi from test_16u::@4 to test_16u::@5 [phi:test_16u::@4->test_16u::@5]
  __b5_from___b4:
    jmp __b5
    // test_16u::@5
  __b5:
    // [61] call print_str
    // [153] phi from test_16u::@5 to print_str [phi:test_16u::@5->print_str]
  print_str_from___b5:
    // [153] phi print_str::str#16 = str1 [phi:test_16u::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    jmp __b6
    // test_16u::@6
  __b6:
    // [62] print_uint::w#3 = test_16u::res#0 -- vwuz1=vwuz2 
    lda.z res
    sta.z print_uint.w
    lda.z res+1
    sta.z print_uint.w+1
    // [63] call print_uint
    // [171] phi from test_16u::@6 to print_uint [phi:test_16u::@6->print_uint]
  print_uint_from___b6:
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:test_16u::@6->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#3 [phi:test_16u::@6->print_uint#1] -- register_copy 
    jsr print_uint
    // [64] phi from test_16u::@6 to test_16u::@7 [phi:test_16u::@6->test_16u::@7]
  __b7_from___b6:
    jmp __b7
    // test_16u::@7
  __b7:
    // [65] call print_str
    // [153] phi from test_16u::@7 to print_str [phi:test_16u::@7->print_str]
  print_str_from___b7:
    // [153] phi print_str::str#16 = str2 [phi:test_16u::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    jmp __b8
    // test_16u::@8
  __b8:
    // [66] print_uint::w#4 = rem16u#0 -- vwuz1=vwuz2 
    lda.z rem16u
    sta.z print_uint.w
    lda.z rem16u+1
    sta.z print_uint.w+1
    // [67] call print_uint
    // [171] phi from test_16u::@8 to print_uint [phi:test_16u::@8->print_uint]
  print_uint_from___b8:
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:test_16u::@8->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#4 [phi:test_16u::@8->print_uint#1] -- register_copy 
    jsr print_uint
    // [68] phi from test_16u::@8 to test_16u::@9 [phi:test_16u::@8->test_16u::@9]
  __b9_from___b8:
    jmp __b9
    // test_16u::@9
  __b9:
    // [69] call print_ln
    // [160] phi from test_16u::@9 to print_ln [phi:test_16u::@9->print_ln]
  print_ln_from___b9:
    // [160] phi print_line_cursor#41 = print_line_cursor#0 [phi:test_16u::@9->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b10
    // test_16u::@10
  __b10:
    // [70] test_16u::i#1 = ++ test_16u::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [71] if(test_16u::i#1!=6) goto test_16u::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b1_from___b10
    jmp __breturn
    // test_16u::@return
  __breturn:
    // [72] return 
    rts
  .segment Data
    dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff
    divisors: .word 5, 7, $b, $d, $11, $13
}
.segment Code
  // test_8s
test_8s: {
    .label dividend = 3
    .label divisor = $12
    .label res = $13
    .label i = 2
    // [74] phi from test_8s to test_8s::@1 [phi:test_8s->test_8s::@1]
  __b1_from_test_8s:
    // [74] phi test_8s::i#10 = 0 [phi:test_8s->test_8s::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // [74] phi from test_8s::@10 to test_8s::@1 [phi:test_8s::@10->test_8s::@1]
  __b1_from___b10:
    // [74] phi test_8s::i#10 = test_8s::i#1 [phi:test_8s::@10->test_8s::@1#0] -- register_copy 
    jmp __b1
    // test_8s::@1
  __b1:
    // [75] test_8s::dividend#0 = test_8s::dividends[test_8s::i#10] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda dividends,y
    sta.z dividend
    // [76] test_8s::divisor#0 = test_8s::divisors[test_8s::i#10] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda divisors,y
    sta.z divisor
    // [77] div8s::dividend#0 = test_8s::dividend#0 -- vbsxx=vbsz1 
    ldx.z dividend
    // [78] div8s::divisor#0 = test_8s::divisor#0 -- vbsyy=vbsz1 
    ldy.z divisor
    // [79] call div8s
    jsr div8s
    // [80] div8s::return#3 = div8s::return#2
    jmp __b2
    // test_8s::@2
  __b2:
    // [81] test_8s::res#0 = div8s::return#3 -- vbsz1=vbsaa 
    sta.z res
    // [82] print_schar::b#1 = test_8s::dividend#0
    // [83] print_char_cursor#164 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [84] call print_schar
    // [200] phi from test_8s::@2 to print_schar [phi:test_8s::@2->print_schar]
  print_schar_from___b2:
    // [200] phi print_char_cursor#138 = print_char_cursor#164 [phi:test_8s::@2->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#1 [phi:test_8s::@2->print_schar#1] -- register_copy 
    jsr print_schar
    // [85] phi from test_8s::@2 to test_8s::@3 [phi:test_8s::@2->test_8s::@3]
  __b3_from___b2:
    jmp __b3
    // test_8s::@3
  __b3:
    // [86] call print_str
    // [153] phi from test_8s::@3 to print_str [phi:test_8s::@3->print_str]
  print_str_from___b3:
    // [153] phi print_str::str#16 = str [phi:test_8s::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    jmp __b4
    // test_8s::@4
  __b4:
    // [87] print_schar::b#2 = test_8s::divisor#0 -- vbsz1=vbsz2 
    lda.z divisor
    sta.z print_schar.b
    // [88] call print_schar
    // [200] phi from test_8s::@4 to print_schar [phi:test_8s::@4->print_schar]
  print_schar_from___b4:
    // [200] phi print_char_cursor#138 = print_char_cursor#18 [phi:test_8s::@4->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#2 [phi:test_8s::@4->print_schar#1] -- register_copy 
    jsr print_schar
    // [89] phi from test_8s::@4 to test_8s::@5 [phi:test_8s::@4->test_8s::@5]
  __b5_from___b4:
    jmp __b5
    // test_8s::@5
  __b5:
    // [90] call print_str
    // [153] phi from test_8s::@5 to print_str [phi:test_8s::@5->print_str]
  print_str_from___b5:
    // [153] phi print_str::str#16 = str1 [phi:test_8s::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    jmp __b6
    // test_8s::@6
  __b6:
    // [91] print_schar::b#3 = test_8s::res#0 -- vbsz1=vbsz2 
    lda.z res
    sta.z print_schar.b
    // [92] call print_schar
    // [200] phi from test_8s::@6 to print_schar [phi:test_8s::@6->print_schar]
  print_schar_from___b6:
    // [200] phi print_char_cursor#138 = print_char_cursor#18 [phi:test_8s::@6->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#3 [phi:test_8s::@6->print_schar#1] -- register_copy 
    jsr print_schar
    // [93] phi from test_8s::@6 to test_8s::@7 [phi:test_8s::@6->test_8s::@7]
  __b7_from___b6:
    jmp __b7
    // test_8s::@7
  __b7:
    // [94] call print_str
    // [153] phi from test_8s::@7 to print_str [phi:test_8s::@7->print_str]
  print_str_from___b7:
    // [153] phi print_str::str#16 = str2 [phi:test_8s::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    jmp __b8
    // test_8s::@8
  __b8:
    // [95] print_schar::b#4 = rem8s#10 -- vbsz1=vbsxx 
    stx.z print_schar.b
    // [96] call print_schar
    // [200] phi from test_8s::@8 to print_schar [phi:test_8s::@8->print_schar]
  print_schar_from___b8:
    // [200] phi print_char_cursor#138 = print_char_cursor#18 [phi:test_8s::@8->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#4 [phi:test_8s::@8->print_schar#1] -- register_copy 
    jsr print_schar
    // [97] phi from test_8s::@8 to test_8s::@9 [phi:test_8s::@8->test_8s::@9]
  __b9_from___b8:
    jmp __b9
    // test_8s::@9
  __b9:
    // [98] call print_ln
    // [160] phi from test_8s::@9 to print_ln [phi:test_8s::@9->print_ln]
  print_ln_from___b9:
    // [160] phi print_line_cursor#41 = print_line_cursor#0 [phi:test_8s::@9->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b10
    // test_8s::@10
  __b10:
    // [99] test_8s::i#1 = ++ test_8s::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [100] if(test_8s::i#1!=6) goto test_8s::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b1_from___b10
    jmp __breturn
    // test_8s::@return
  __breturn:
    // [101] return 
    rts
  .segment Data
    dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f
    divisors: .byte 5, 7, -$b, -$d, $11, $13
}
.segment Code
  // test_16s
test_16s: {
    .label dividend = 6
    .label divisor = $14
    .label res = $e
    .label i = 2
    // [103] phi from test_16s to test_16s::@1 [phi:test_16s->test_16s::@1]
  __b1_from_test_16s:
    // [103] phi test_16s::i#10 = 0 [phi:test_16s->test_16s::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    jmp __b1
    // [103] phi from test_16s::@10 to test_16s::@1 [phi:test_16s::@10->test_16s::@1]
  __b1_from___b10:
    // [103] phi test_16s::i#10 = test_16s::i#1 [phi:test_16s::@10->test_16s::@1#0] -- register_copy 
    jmp __b1
    // test_16s::@1
  __b1:
    // [104] test_16s::$11 = test_16s::i#10 << 1 -- vbuxx=vbuz1_rol_1 
    lda.z i
    asl
    tax
    // [105] test_16s::dividend#0 = test_16s::dividends[test_16s::$11] -- vwsz1=pwsc1_derefidx_vbuxx 
    lda dividends,x
    sta.z dividend
    lda dividends+1,x
    sta.z dividend+1
    // [106] test_16s::divisor#0 = test_16s::divisors[test_16s::$11] -- vwsz1=pwsc1_derefidx_vbuxx 
    lda divisors,x
    sta.z divisor
    lda divisors+1,x
    sta.z divisor+1
    // [107] div16s::dividend#0 = test_16s::dividend#0
    // [108] div16s::divisor#0 = test_16s::divisor#0
    // [109] call div16s
    jsr div16s
    // [110] div16s::return#2 = div16s::return#0
    jmp __b2
    // test_16s::@2
  __b2:
    // [111] test_16s::res#0 = div16s::return#2
    // [112] print_sint::w#1 = test_16s::dividend#0
    // [113] print_char_cursor#160 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [114] call print_sint
    // [217] phi from test_16s::@2 to print_sint [phi:test_16s::@2->print_sint]
  print_sint_from___b2:
    // [217] phi print_char_cursor#135 = print_char_cursor#160 [phi:test_16s::@2->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#1 [phi:test_16s::@2->print_sint#1] -- register_copy 
    jsr print_sint
    // [115] phi from test_16s::@2 to test_16s::@3 [phi:test_16s::@2->test_16s::@3]
  __b3_from___b2:
    jmp __b3
    // test_16s::@3
  __b3:
    // [116] call print_str
    // [153] phi from test_16s::@3 to print_str [phi:test_16s::@3->print_str]
  print_str_from___b3:
    // [153] phi print_str::str#16 = str [phi:test_16s::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    jmp __b4
    // test_16s::@4
  __b4:
    // [117] print_sint::w#2 = test_16s::divisor#0 -- vwsz1=vwsz2 
    lda.z divisor
    sta.z print_sint.w
    lda.z divisor+1
    sta.z print_sint.w+1
    // [118] call print_sint
    // [217] phi from test_16s::@4 to print_sint [phi:test_16s::@4->print_sint]
  print_sint_from___b4:
    // [217] phi print_char_cursor#135 = print_char_cursor#18 [phi:test_16s::@4->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#2 [phi:test_16s::@4->print_sint#1] -- register_copy 
    jsr print_sint
    // [119] phi from test_16s::@4 to test_16s::@5 [phi:test_16s::@4->test_16s::@5]
  __b5_from___b4:
    jmp __b5
    // test_16s::@5
  __b5:
    // [120] call print_str
    // [153] phi from test_16s::@5 to print_str [phi:test_16s::@5->print_str]
  print_str_from___b5:
    // [153] phi print_str::str#16 = str1 [phi:test_16s::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    jmp __b6
    // test_16s::@6
  __b6:
    // [121] print_sint::w#3 = test_16s::res#0 -- vwsz1=vwsz2 
    lda.z res
    sta.z print_sint.w
    lda.z res+1
    sta.z print_sint.w+1
    // [122] call print_sint
    // [217] phi from test_16s::@6 to print_sint [phi:test_16s::@6->print_sint]
  print_sint_from___b6:
    // [217] phi print_char_cursor#135 = print_char_cursor#18 [phi:test_16s::@6->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#3 [phi:test_16s::@6->print_sint#1] -- register_copy 
    jsr print_sint
    // [123] phi from test_16s::@6 to test_16s::@7 [phi:test_16s::@6->test_16s::@7]
  __b7_from___b6:
    jmp __b7
    // test_16s::@7
  __b7:
    // [124] call print_str
    // [153] phi from test_16s::@7 to print_str [phi:test_16s::@7->print_str]
  print_str_from___b7:
    // [153] phi print_str::str#16 = str2 [phi:test_16s::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    jmp __b8
    // test_16s::@8
  __b8:
    // [125] print_sint::w#4 = rem16s#12 -- vwsz1=vwsz2 
    lda.z rem16s
    sta.z print_sint.w
    lda.z rem16s+1
    sta.z print_sint.w+1
    // [126] call print_sint
    // [217] phi from test_16s::@8 to print_sint [phi:test_16s::@8->print_sint]
  print_sint_from___b8:
    // [217] phi print_char_cursor#135 = print_char_cursor#18 [phi:test_16s::@8->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#4 [phi:test_16s::@8->print_sint#1] -- register_copy 
    jsr print_sint
    // [127] phi from test_16s::@8 to test_16s::@9 [phi:test_16s::@8->test_16s::@9]
  __b9_from___b8:
    jmp __b9
    // test_16s::@9
  __b9:
    // [128] call print_ln
    // [160] phi from test_16s::@9 to print_ln [phi:test_16s::@9->print_ln]
  print_ln_from___b9:
    // [160] phi print_line_cursor#41 = print_line_cursor#0 [phi:test_16s::@9->print_ln#0] -- register_copy 
    jsr print_ln
    jmp __b10
    // test_16s::@10
  __b10:
    // [129] test_16s::i#1 = ++ test_16s::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [130] if(test_16s::i#1!=6) goto test_16s::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b1_from___b10
    jmp __breturn
    // test_16s::@return
  __breturn:
    // [131] return 
    rts
  .segment Data
    dividends: .word $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff
    divisors: .word 5, -7, $b, -$d, -$11, $13
}
.segment Code
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(void *str, char c, unsigned int num)
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = print_screen
    .label end = str+num
    .label dst = 6
    // [133] phi from memset to memset::@1 [phi:memset->memset::@1]
  __b1_from_memset:
    // [133] phi memset::dst#2 = (char *)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    jmp __b1
    // memset::@1
  __b1:
    // [134] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    jmp __breturn
    // memset::@return
  __breturn:
    // [135] return 
    rts
    // memset::@2
  __b2:
    // [136] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // [137] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [133] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
  __b1_from___b2:
    // [133] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // div8u
// Performs division on two 8 bit unsigned chars
// Returns dividend/divisor.
// The remainder will be set into the global variable rem8u
// Implemented using simple binary division
// __register(A) char div8u(__register(X) char dividend, __register(A) char divisor)
div8u: {
    // [139] divr8u::dividend#0 = div8u::dividend#2 -- vbuz1=vbuxx 
    stx.z divr8u.dividend
    // [140] divr8u::divisor#0 = div8u::divisor#2 -- vbuz1=vbuaa 
    sta.z divr8u.divisor
    // [141] call divr8u
    // [228] phi from div8u to divr8u [phi:div8u->divr8u]
  divr8u_from_div8u:
    jsr divr8u
    // [142] divr8u::return#0 = divr8u::return#1 -- vbuaa=vbuz1 
    lda.z divr8u.return
    jmp __b1
    // div8u::@1
  __b1:
    // [143] div8u::return#0 = divr8u::return#0
    jmp __breturn
    // div8u::@return
  __breturn:
    // [144] return 
    rts
}
  // print_uchar
// Print a char as HEX
// void print_uchar(__zp(3) char b)
print_uchar: {
    .label b = 3
    // [146] print_uchar::$0 = print_uchar::b#7 >> 4 -- vbuaa=vbuz1_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    // [147] print_char::ch#5 = print_hextab[print_uchar::$0] -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [148] call print_char
  // Table of hexadecimal digits
    // [245] phi from print_uchar to print_char [phi:print_uchar->print_char]
  print_char_from_print_uchar:
    // [245] phi print_char_cursor#85 = print_char_cursor#142 [phi:print_uchar->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = print_char::ch#5 [phi:print_uchar->print_char#1] -- register_copy 
    jsr print_char
    jmp __b1
    // print_uchar::@1
  __b1:
    // [149] print_uchar::$2 = print_uchar::b#7 & $f -- vbuaa=vbuz1_band_vbuc1 
    lda #$f
    and.z b
    // [150] print_char::ch#6 = print_hextab[print_uchar::$2] -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [151] call print_char
    // [245] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
  print_char_from___b1:
    // [245] phi print_char_cursor#85 = print_char_cursor#18 [phi:print_uchar::@1->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = print_char::ch#6 [phi:print_uchar::@1->print_char#1] -- register_copy 
    jsr print_char
    jmp __breturn
    // print_uchar::@return
  __breturn:
    // [152] return 
    rts
}
  // print_str
// Print a zero-terminated string
// void print_str(__zp(6) char *str)
print_str: {
    .label str = 6
    // [154] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1]
  __b1_from_print_str:
  __b1_from___b3:
    // [154] phi print_str::str#13 = print_str::str#16 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy 
    jmp __b1
    // print_str::@1
  __b1:
    // [155] if(0!=*print_str::str#13) goto print_str::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    jmp __breturn
    // print_str::@return
  __breturn:
    // [156] return 
    rts
    // print_str::@2
  __b2:
    // [157] print_char::ch#0 = *print_str::str#13 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (str),y
    // [158] call print_char
    // [245] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
  print_char_from___b2:
    // [245] phi print_char_cursor#85 = print_char_cursor#18 [phi:print_str::@2->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy 
    jsr print_char
    jmp __b3
    // print_str::@3
  __b3:
    // [159] print_str::str#0 = ++ print_str::str#13 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1_from___b3
}
  // print_ln
// Print a newline
print_ln: {
    // [161] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1]
  __b1_from_print_ln:
  __b1_from___b1:
    // [161] phi print_line_cursor#21 = print_line_cursor#41 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy 
    jmp __b1
    // print_ln::@1
  __b1:
    // [162] print_line_cursor#0 = print_line_cursor#21 + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z print_line_cursor
    sta.z print_line_cursor
    bcc !+
    inc.z print_line_cursor+1
  !:
    // [163] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda.z print_line_cursor+1
    cmp.z print_char_cursor+1
    bcc __b1_from___b1
    bne !+
    lda.z print_line_cursor
    cmp.z print_char_cursor
    bcc __b1_from___b1
  !:
    jmp __breturn
    // print_ln::@return
  __breturn:
    // [164] return 
    rts
}
  // div16u
// Performs division on two 16 bit unsigned ints
// Returns the quotient dividend/divisor.
// The remainder will be set into the global variable rem16u
// Implemented using simple binary division
// __zp($e) unsigned int div16u(__zp($c) unsigned int dividend, __zp(8) unsigned int divisor)
div16u: {
    .label return = $e
    .label dividend = $c
    .label divisor = 8
    // [165] divr16u::dividend#1 = div16u::dividend#0
    // [166] divr16u::divisor#0 = div16u::divisor#0
    // [167] call divr16u
    // [249] phi from div16u to divr16u [phi:div16u->divr16u]
  divr16u_from_div16u:
    // [249] phi divr16u::divisor#6 = divr16u::divisor#0 [phi:div16u->divr16u#0] -- register_copy 
    // [249] phi divr16u::dividend#5 = divr16u::dividend#1 [phi:div16u->divr16u#1] -- register_copy 
    jsr divr16u
    // [168] divr16u::return#2 = divr16u::return#0
    jmp __b1
    // div16u::@1
  __b1:
    // [169] div16u::return#0 = divr16u::return#2
    jmp __breturn
    // div16u::@return
  __breturn:
    // [170] return 
    rts
}
  // print_uint
// Print a unsigned int as HEX
// void print_uint(__zp(6) unsigned int w)
print_uint: {
    .label w = 6
    // [172] print_uchar::b#1 = byte1  print_uint::w#5 -- vbuz1=_byte1_vwuz2 
    lda.z w+1
    sta.z print_uchar.b
    // [173] call print_uchar
    // [145] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
  print_uchar_from_print_uint:
    // [145] phi print_char_cursor#142 = print_char_cursor#141 [phi:print_uint->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- register_copy 
    jsr print_uchar
    jmp __b1
    // print_uint::@1
  __b1:
    // [174] print_uchar::b#2 = byte0  print_uint::w#5 -- vbuz1=_byte0_vwuz2 
    lda.z w
    sta.z print_uchar.b
    // [175] call print_uchar
    // [145] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
  print_uchar_from___b1:
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:print_uint::@1->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#2 [phi:print_uint::@1->print_uchar#1] -- register_copy 
    jsr print_uchar
    jmp __breturn
    // print_uint::@return
  __breturn:
    // [176] return 
    rts
}
  // div8s
// Perform division on two signed 8-bit numbers
// Returns dividend/divisor.
// The remainder will be set into the global variable rem8s.
// Implemented using simple binary division
// Follows the C99 standard by truncating toward zero on negative results.
// See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf section 6.5.5
// __register(A) signed char div8s(__register(X) signed char dividend, __register(Y) signed char divisor)
div8s: {
    .label neg = $10
    // [177] if(div8s::dividend#0<0) goto div8s::@1 -- vbsxx_lt_0_then_la1 
    cpx #0
    bmi __b1
    jmp __b6
    // div8s::@6
  __b6:
    // [178] div8s::dividendu#8 = (char)div8s::dividend#0
    // [179] phi from div8s::@6 to div8s::@2 [phi:div8s::@6->div8s::@2]
  __b2_from___b6:
    // [179] phi div8s::dividendu#3 = div8s::dividendu#8 [phi:div8s::@6->div8s::@2#0] -- register_copy 
    // [179] phi div8s::neg#3 = 0 [phi:div8s::@6->div8s::@2#1] -- vbuz1=vbuc1 
    lda #0
    sta.z neg
    jmp __b2
    // div8s::@2
  __b2:
    // [180] if(div8s::divisor#0<0) goto div8s::@3 -- vbsyy_lt_0_then_la1 
    cpy #0
    bmi __b3
    jmp __b7
    // div8s::@7
  __b7:
    // [181] div8s::divisoru#5 = (char)div8s::divisor#0 -- vbuaa=vbuyy 
    tya
    // [182] phi from div8s::@3 div8s::@7 to div8s::@4 [phi:div8s::@3/div8s::@7->div8s::@4]
  __b4_from___b3:
  __b4_from___b7:
    // [182] phi div8s::neg#4 = div8s::neg#2 [phi:div8s::@3/div8s::@7->div8s::@4#0] -- register_copy 
    // [182] phi div8s::divisoru#3 = div8s::divisoru#4 [phi:div8s::@3/div8s::@7->div8s::@4#1] -- register_copy 
    jmp __b4
    // div8s::@4
  __b4:
    // [183] div8u::dividend#0 = div8s::dividendu#3
    // [184] div8u::divisor#0 = div8s::divisoru#3
    // [185] call div8u
    // [138] phi from div8s::@4 to div8u [phi:div8s::@4->div8u]
  div8u_from___b4:
    // [138] phi div8u::divisor#2 = div8u::divisor#0 [phi:div8s::@4->div8u#0] -- register_copy 
    // [138] phi div8u::dividend#2 = div8u::dividend#0 [phi:div8s::@4->div8u#1] -- register_copy 
    jsr div8u
    // [186] div8u::return#2 = div8u::return#0
    jmp __b9
    // div8s::@9
  __b9:
    // [187] div8s::resultu#0 = div8u::return#2 -- vbuyy=vbuaa 
    tay
    // [188] if(div8s::neg#4==0) goto div8s::@5 -- vbuz1_eq_0_then_la1 
    lda.z neg
    beq __b5
    jmp __b8
    // div8s::@8
  __b8:
    // [189] rem8s#1 = - (signed char)rem8u#18 -- vbsxx=_neg_vbsxx 
    txa
    eor #$ff
    clc
    adc #1
    tax
    // [190] div8s::return#1 = - (signed char)div8s::resultu#0 -- vbsaa=_neg_vbsyy 
    tya
    eor #$ff
    clc
    adc #1
    // [191] phi from div8s::@5 div8s::@8 to div8s::@return [phi:div8s::@5/div8s::@8->div8s::@return]
  __breturn_from___b5:
  __breturn_from___b8:
    // [191] phi rem8s#10 = rem8s#33 [phi:div8s::@5/div8s::@8->div8s::@return#0] -- register_copy 
    // [191] phi div8s::return#2 = div8s::return#6 [phi:div8s::@5/div8s::@8->div8s::@return#1] -- register_copy 
    jmp __breturn
    // div8s::@return
  __breturn:
    // [192] return 
    rts
    // div8s::@5
  __b5:
    // [193] div8s::return#6 = (signed char)div8s::resultu#0 -- vbsaa=vbsyy 
    tya
    // [194] rem8s#33 = (signed char)rem8u#18
    jmp __breturn_from___b5
    // div8s::@3
  __b3:
    // [195] div8s::divisoru#1 = - div8s::divisor#0 -- vbsyy=_neg_vbsyy 
    tya
    eor #$ff
    clc
    adc #1
    tay
    // [196] div8s::neg#2 = div8s::neg#3 ^ 1 -- vbuz1=vbuz1_bxor_vbuc1 
    lda #1
    eor.z neg
    sta.z neg
    // [197] div8s::divisoru#4 = (char)div8s::divisoru#1 -- vbuaa=vbuyy 
    tya
    jmp __b4_from___b3
    // div8s::@1
  __b1:
    // [198] div8s::dividendu#1 = - div8s::dividend#0 -- vbsaa=_neg_vbsxx 
    txa
    eor #$ff
    clc
    adc #1
    // [199] div8s::dividendu#7 = (char)div8s::dividendu#1 -- vbuxx=vbuaa 
    tax
    // [179] phi from div8s::@1 to div8s::@2 [phi:div8s::@1->div8s::@2]
  __b2_from___b1:
    // [179] phi div8s::dividendu#3 = div8s::dividendu#7 [phi:div8s::@1->div8s::@2#0] -- register_copy 
    // [179] phi div8s::neg#3 = 1 [phi:div8s::@1->div8s::@2#1] -- vbuz1=vbuc1 
    lda #1
    sta.z neg
    jmp __b2
}
  // print_schar
// Print a signed char as HEX
// void print_schar(__zp(3) signed char b)
print_schar: {
    .label b = 3
    // [201] if(print_schar::b#10<0) goto print_schar::@1 -- vbsz1_lt_0_then_la1 
    lda.z b
    bmi __b1_from_print_schar
    // [202] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3]
  __b3_from_print_schar:
    jmp __b3
    // print_schar::@3
  __b3:
    // [203] call print_char
    // [245] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char]
  print_char_from___b3:
    // [245] phi print_char_cursor#85 = print_char_cursor#138 [phi:print_schar::@3->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    // [204] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2]
  __b2_from___b3:
  __b2_from___b4:
    // [204] phi print_schar::b#7 = print_schar::b#10 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy 
    jmp __b2
    // print_schar::@2
  __b2:
    // [205] print_uchar::b#0 = (char)print_schar::b#7
    // [206] call print_uchar
    // [145] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar]
  print_uchar_from___b2:
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:print_schar::@2->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy 
    jsr print_uchar
    jmp __breturn
    // print_schar::@return
  __breturn:
    // [207] return 
    rts
    // [208] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1]
  __b1_from_print_schar:
    jmp __b1
    // print_schar::@1
  __b1:
    // [209] call print_char
    // [245] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char]
  print_char_from___b1:
    // [245] phi print_char_cursor#85 = print_char_cursor#138 [phi:print_schar::@1->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1 
    lda #'-'
    jsr print_char
    jmp __b4
    // print_schar::@4
  __b4:
    // [210] print_schar::b#0 = - print_schar::b#10 -- vbsz1=_neg_vbsz1 
    lda.z b
    eor #$ff
    clc
    adc #1
    sta.z b
    jmp __b2_from___b4
}
  // div16s
// Perform division on two signed 16-bit numbers
// Returns dividend/divisor.
// The remainder will be set into the global variable rem16s.
// Implemented using simple binary division
// Follows the C99 standard by truncating toward zero on negative results.
// See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf section 6.5.5
// __zp($e) int div16s(__zp(6) int dividend, __zp($14) int divisor)
div16s: {
    .label return = $e
    .label dividend = 6
    .label divisor = $14
    // [211] divr16s::dividend#0 = div16s::dividend#0 -- vwsz1=vwsz2 
    lda.z dividend
    sta.z divr16s.dividend
    lda.z dividend+1
    sta.z divr16s.dividend+1
    // [212] divr16s::divisor#0 = div16s::divisor#0 -- vwsz1=vwsz2 
    lda.z divisor
    sta.z divr16s.divisor
    lda.z divisor+1
    sta.z divr16s.divisor+1
    // [213] call divr16s
    jsr divr16s
    // [214] divr16s::return#3 = divr16s::return#2
    jmp __b1
    // div16s::@1
  __b1:
    // [215] div16s::return#0 = divr16s::return#3
    jmp __breturn
    // div16s::@return
  __breturn:
    // [216] return 
    rts
}
  // print_sint
// Print a signed int as HEX
// void print_sint(__zp(6) int w)
print_sint: {
    .label w = 6
    // [218] if(print_sint::w#10<0) goto print_sint::@1 -- vwsz1_lt_0_then_la1 
    lda.z w+1
    bmi __b1_from_print_sint
    // [219] phi from print_sint to print_sint::@3 [phi:print_sint->print_sint::@3]
  __b3_from_print_sint:
    jmp __b3
    // print_sint::@3
  __b3:
    // [220] call print_char
    // [245] phi from print_sint::@3 to print_char [phi:print_sint::@3->print_char]
  print_char_from___b3:
    // [245] phi print_char_cursor#85 = print_char_cursor#135 [phi:print_sint::@3->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = ' ' [phi:print_sint::@3->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    // [221] phi from print_sint::@3 print_sint::@4 to print_sint::@2 [phi:print_sint::@3/print_sint::@4->print_sint::@2]
  __b2_from___b3:
  __b2_from___b4:
    // [221] phi print_sint::w#7 = print_sint::w#10 [phi:print_sint::@3/print_sint::@4->print_sint::@2#0] -- register_copy 
    jmp __b2
    // print_sint::@2
  __b2:
    // [222] print_uint::w#0 = (unsigned int)print_sint::w#7
    // [223] call print_uint
    // [171] phi from print_sint::@2 to print_uint [phi:print_sint::@2->print_uint]
  print_uint_from___b2:
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:print_sint::@2->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#0 [phi:print_sint::@2->print_uint#1] -- register_copy 
    jsr print_uint
    jmp __breturn
    // print_sint::@return
  __breturn:
    // [224] return 
    rts
    // [225] phi from print_sint to print_sint::@1 [phi:print_sint->print_sint::@1]
  __b1_from_print_sint:
    jmp __b1
    // print_sint::@1
  __b1:
    // [226] call print_char
    // [245] phi from print_sint::@1 to print_char [phi:print_sint::@1->print_char]
  print_char_from___b1:
    // [245] phi print_char_cursor#85 = print_char_cursor#135 [phi:print_sint::@1->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = '-' [phi:print_sint::@1->print_char#1] -- vbuaa=vbuc1 
    lda #'-'
    jsr print_char
    jmp __b4
    // print_sint::@4
  __b4:
    // [227] print_sint::w#0 = - print_sint::w#10 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z w
    sta.z w
    lda #0
    sbc.z w+1
    sta.z w+1
    jmp __b2_from___b4
}
  // divr8u
// Performs division on two 8 bit unsigned chars and an initial remainder
// Returns dividend/divisor.
// The final remainder will be set into the global variable rem8u
// Implemented using simple binary division
// __zp($13) char divr8u(__zp($11) char dividend, __zp($16) char divisor, __register(Y) char rem)
divr8u: {
    .label dividend = $11
    .label divisor = $16
    .label quotient = $13
    .label return = $13
    // [229] phi from divr8u to divr8u::@1 [phi:divr8u->divr8u::@1]
  __b1_from_divr8u:
    // [229] phi divr8u::i#2 = 0 [phi:divr8u->divr8u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [229] phi divr8u::quotient#3 = 0 [phi:divr8u->divr8u::@1#1] -- vbuz1=vbuc1 
    lda #0
    sta.z quotient
    // [229] phi divr8u::dividend#2 = divr8u::dividend#0 [phi:divr8u->divr8u::@1#2] -- register_copy 
    // [229] phi divr8u::rem#4 = 0 [phi:divr8u->divr8u::@1#3] -- vbuyy=vbuc1 
    ldy #0
    jmp __b1
    // [229] phi from divr8u::@3 to divr8u::@1 [phi:divr8u::@3->divr8u::@1]
  __b1_from___b3:
    // [229] phi divr8u::i#2 = divr8u::i#1 [phi:divr8u::@3->divr8u::@1#0] -- register_copy 
    // [229] phi divr8u::quotient#3 = divr8u::return#1 [phi:divr8u::@3->divr8u::@1#1] -- register_copy 
    // [229] phi divr8u::dividend#2 = divr8u::dividend#1 [phi:divr8u::@3->divr8u::@1#2] -- register_copy 
    // [229] phi divr8u::rem#4 = divr8u::rem#10 [phi:divr8u::@3->divr8u::@1#3] -- register_copy 
    jmp __b1
    // divr8u::@1
  __b1:
    // [230] divr8u::rem#1 = divr8u::rem#4 << 1 -- vbuyy=vbuyy_rol_1 
    tya
    asl
    tay
    // [231] divr8u::$1 = divr8u::dividend#2 & $80 -- vbuaa=vbuz1_band_vbuc1 
    lda #$80
    and.z dividend
    // [232] if(divr8u::$1==0) goto divr8u::@2 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq __b2_from___b1
    jmp __b4
    // divr8u::@4
  __b4:
    // [233] divr8u::rem#2 = divr8u::rem#1 | 1 -- vbuyy=vbuyy_bor_vbuc1 
    tya
    ora #1
    tay
    // [234] phi from divr8u::@1 divr8u::@4 to divr8u::@2 [phi:divr8u::@1/divr8u::@4->divr8u::@2]
  __b2_from___b1:
  __b2_from___b4:
    // [234] phi divr8u::rem#5 = divr8u::rem#1 [phi:divr8u::@1/divr8u::@4->divr8u::@2#0] -- register_copy 
    jmp __b2
    // divr8u::@2
  __b2:
    // [235] divr8u::dividend#1 = divr8u::dividend#2 << 1 -- vbuz1=vbuz1_rol_1 
    asl.z dividend
    // [236] divr8u::quotient#1 = divr8u::quotient#3 << 1 -- vbuz1=vbuz1_rol_1 
    asl.z quotient
    // [237] if(divr8u::rem#5<divr8u::divisor#0) goto divr8u::@3 -- vbuyy_lt_vbuz1_then_la1 
    cpy.z divisor
    bcc __b3_from___b2
    jmp __b5
    // divr8u::@5
  __b5:
    // [238] divr8u::quotient#2 = ++ divr8u::quotient#1 -- vbuz1=_inc_vbuz1 
    inc.z quotient
    // [239] divr8u::rem#3 = divr8u::rem#5 - divr8u::divisor#0 -- vbuyy=vbuyy_minus_vbuz1 
    tya
    sec
    sbc.z divisor
    tay
    // [240] phi from divr8u::@2 divr8u::@5 to divr8u::@3 [phi:divr8u::@2/divr8u::@5->divr8u::@3]
  __b3_from___b2:
  __b3_from___b5:
    // [240] phi divr8u::return#1 = divr8u::quotient#1 [phi:divr8u::@2/divr8u::@5->divr8u::@3#0] -- register_copy 
    // [240] phi divr8u::rem#10 = divr8u::rem#5 [phi:divr8u::@2/divr8u::@5->divr8u::@3#1] -- register_copy 
    jmp __b3
    // divr8u::@3
  __b3:
    // [241] divr8u::i#1 = ++ divr8u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [242] if(divr8u::i#1!=8) goto divr8u::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #8
    bne __b1_from___b3
    jmp __b6
    // divr8u::@6
  __b6:
    // [243] rem8u#18 = divr8u::rem#10 -- vbuxx=vbuyy 
    tya
    tax
    jmp __breturn
    // divr8u::@return
  __breturn:
    // [244] return 
    rts
}
  // print_char
// Print a single char
// void print_char(__register(A) char ch)
print_char: {
    // [246] *print_char_cursor#85 = print_char::ch#7 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (print_char_cursor),y
    // [247] print_char_cursor#18 = ++ print_char_cursor#85 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    jmp __breturn
    // print_char::@return
  __breturn:
    // [248] return 
    rts
}
  // divr16u
// Performs division on two 16 bit unsigned ints and an initial remainder
// Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u
// Implemented using simple binary division
// __zp($e) unsigned int divr16u(__zp($c) unsigned int dividend, __zp(8) unsigned int divisor, __zp($a) unsigned int rem)
divr16u: {
    .label rem = $a
    .label dividend = $c
    .label quotient = $e
    .label return = $e
    .label divisor = 8
    // [250] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
  __b1_from_divr16u:
    // [250] phi divr16u::i#2 = 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [250] phi divr16u::quotient#3 = 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vwuc1 
    lda #<0
    sta.z quotient
    lda #>0
    sta.z quotient+1
    // [250] phi divr16u::dividend#3 = divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [250] phi divr16u::rem#5 = 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    lda #<0
    sta.z rem
    lda #>0
    sta.z rem+1
    jmp __b1
    // [250] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
  __b1_from___b3:
    // [250] phi divr16u::i#2 = divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [250] phi divr16u::quotient#3 = divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [250] phi divr16u::dividend#3 = divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [250] phi divr16u::rem#5 = divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    jmp __b1
    // divr16u::@1
  __b1:
    // [251] divr16u::rem#0 = divr16u::rem#5 << 1 -- vwuz1=vwuz1_rol_1 
    asl.z rem
    rol.z rem+1
    // [252] divr16u::$1 = byte1  divr16u::dividend#3 -- vbuaa=_byte1_vwuz1 
    lda.z dividend+1
    // [253] divr16u::$2 = divr16u::$1 & $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // [254] if(divr16u::$2==0) goto divr16u::@2 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq __b2_from___b1
    jmp __b4
    // divr16u::@4
  __b4:
    // [255] divr16u::rem#1 = divr16u::rem#0 | 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora.z rem
    sta.z rem
    // [256] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
  __b2_from___b1:
  __b2_from___b4:
    // [256] phi divr16u::rem#6 = divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    jmp __b2
    // divr16u::@2
  __b2:
    // [257] divr16u::dividend#0 = divr16u::dividend#3 << 1 -- vwuz1=vwuz1_rol_1 
    asl.z dividend
    rol.z dividend+1
    // [258] divr16u::quotient#1 = divr16u::quotient#3 << 1 -- vwuz1=vwuz1_rol_1 
    asl.z quotient
    rol.z quotient+1
    // [259] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3 -- vwuz1_lt_vwuz2_then_la1 
    lda.z rem+1
    cmp.z divisor+1
    bcc __b3_from___b2
    bne !+
    lda.z rem
    cmp.z divisor
    bcc __b3_from___b2
  !:
    jmp __b5
    // divr16u::@5
  __b5:
    // [260] divr16u::quotient#2 = ++ divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc.z quotient
    bne !+
    inc.z quotient+1
  !:
    // [261] divr16u::rem#2 = divr16u::rem#6 - divr16u::divisor#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z rem
    sec
    sbc.z divisor
    sta.z rem
    lda.z rem+1
    sbc.z divisor+1
    sta.z rem+1
    // [262] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
  __b3_from___b2:
  __b3_from___b5:
    // [262] phi divr16u::return#0 = divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [262] phi divr16u::rem#11 = divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    jmp __b3
    // divr16u::@3
  __b3:
    // [263] divr16u::i#1 = ++ divr16u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [264] if(divr16u::i#1!=$10) goto divr16u::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #$10
    bne __b1_from___b3
    jmp __b6
    // divr16u::@6
  __b6:
    // [265] rem16u#0 = divr16u::rem#11
    jmp __breturn
    // divr16u::@return
  __breturn:
    // [266] return 
    rts
}
  // divr16s
// Perform division on two signed 16-bit numbers with an initial remainder.
// Returns dividend/divisor. The remainder will be set into the global variable rem16s.
// Implemented using simple binary division
// Follows the C99 standard by truncating toward zero on negative results.
// See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf section 6.5.5
// __zp($e) int divr16s(__zp($c) int dividend, __zp(8) int divisor, int rem)
divr16s: {
    .label dividendu = $c
    .label divisoru = 8
    .label resultu = $e
    .label return = $e
    .label dividend = $c
    .label divisor = 8
    // [267] if(divr16s::dividend#0<0) goto divr16s::@1 -- vwsz1_lt_0_then_la1 
    lda.z dividend+1
    bmi __b1
    jmp __b6
    // divr16s::@6
  __b6:
    // [268] divr16s::dividendu#8 = (unsigned int)divr16s::dividend#0
    // [269] phi from divr16s::@6 to divr16s::@2 [phi:divr16s::@6->divr16s::@2]
  __b2_from___b6:
    // [269] phi divr16s::dividendu#3 = divr16s::dividendu#8 [phi:divr16s::@6->divr16s::@2#0] -- register_copy 
    // [269] phi divr16s::neg#3 = 0 [phi:divr16s::@6->divr16s::@2#1] -- vbuyy=vbuc1 
    ldy #0
    jmp __b2
    // divr16s::@2
  __b2:
    // [270] if(divr16s::divisor#0<0) goto divr16s::@3 -- vwsz1_lt_0_then_la1 
    lda.z divisor+1
    bmi __b3
    jmp __b7
    // divr16s::@7
  __b7:
    // [271] divr16s::divisoru#5 = (unsigned int)divr16s::divisor#0
    // [272] phi from divr16s::@3 divr16s::@7 to divr16s::@4 [phi:divr16s::@3/divr16s::@7->divr16s::@4]
  __b4_from___b3:
  __b4_from___b7:
    // [272] phi divr16s::neg#4 = divr16s::neg#2 [phi:divr16s::@3/divr16s::@7->divr16s::@4#0] -- register_copy 
    // [272] phi divr16s::divisoru#3 = divr16s::divisoru#4 [phi:divr16s::@3/divr16s::@7->divr16s::@4#1] -- register_copy 
    jmp __b4
    // divr16s::@4
  __b4:
    // [273] divr16u::dividend#2 = divr16s::dividendu#3
    // [274] divr16u::divisor#1 = divr16s::divisoru#3
    // [275] call divr16u
    // [249] phi from divr16s::@4 to divr16u [phi:divr16s::@4->divr16u]
  divr16u_from___b4:
    // [249] phi divr16u::divisor#6 = divr16u::divisor#1 [phi:divr16s::@4->divr16u#0] -- register_copy 
    // [249] phi divr16u::dividend#5 = divr16u::dividend#2 [phi:divr16s::@4->divr16u#1] -- register_copy 
    jsr divr16u
    // [276] divr16u::return#3 = divr16u::return#0
    jmp __b9
    // divr16s::@9
  __b9:
    // [277] divr16s::resultu#0 = divr16u::return#3
    // [278] if(divr16s::neg#4==0) goto divr16s::@5 -- vbuyy_eq_0_then_la1 
    cpy #0
    beq __b5
    jmp __b8
    // divr16s::@8
  __b8:
    // [279] rem16s#1 = - (int)rem16u#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z rem16s
    sta.z rem16s
    lda #0
    sbc.z rem16s+1
    sta.z rem16s+1
    // [280] divr16s::return#1 = - (int)divr16s::resultu#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z return
    sta.z return
    lda #0
    sbc.z return+1
    sta.z return+1
    // [281] phi from divr16s::@5 divr16s::@8 to divr16s::@return [phi:divr16s::@5/divr16s::@8->divr16s::@return]
  __breturn_from___b5:
  __breturn_from___b8:
    // [281] phi rem16s#12 = rem16s#38 [phi:divr16s::@5/divr16s::@8->divr16s::@return#0] -- register_copy 
    // [281] phi divr16s::return#2 = divr16s::return#6 [phi:divr16s::@5/divr16s::@8->divr16s::@return#1] -- register_copy 
    jmp __breturn
    // divr16s::@return
  __breturn:
    // [282] return 
    rts
    // divr16s::@5
  __b5:
    // [283] divr16s::return#6 = (int)divr16s::resultu#0
    // [284] rem16s#38 = (int)rem16u#0
    jmp __breturn_from___b5
    // divr16s::@3
  __b3:
    // [285] divr16s::divisoru#1 = - divr16s::divisor#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z divisoru
    sta.z divisoru
    lda #0
    sbc.z divisoru+1
    sta.z divisoru+1
    // [286] divr16s::neg#2 = divr16s::neg#3 ^ 1 -- vbuyy=vbuyy_bxor_vbuc1 
    tya
    eor #1
    tay
    // [287] divr16s::divisoru#4 = (unsigned int)divr16s::divisoru#1
    jmp __b4_from___b3
    // divr16s::@1
  __b1:
    // [288] divr16s::dividendu#1 = - divr16s::dividend#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z dividendu
    sta.z dividendu
    lda #0
    sbc.z dividendu+1
    sta.z dividendu+1
    // [289] divr16s::dividendu#7 = (unsigned int)divr16s::dividendu#1
    // [269] phi from divr16s::@1 to divr16s::@2 [phi:divr16s::@1->divr16s::@2]
  __b2_from___b1:
    // [269] phi divr16s::dividendu#3 = divr16s::dividendu#7 [phi:divr16s::@1->divr16s::@2#0] -- register_copy 
    // [269] phi divr16s::neg#3 = 1 [phi:divr16s::@1->divr16s::@2#1] -- vbuyy=vbuc1 
    ldy #1
    jmp __b2
}
  // File Data
.segment Data
  print_hextab: .text "0123456789abcdef"
  str: .text " / "
  .byte 0
  str1: .text " = "
  .byte 0
  str2: .text " "
  .byte 0

ASSEMBLER OPTIMIZATIONS
Removing instruction jmp __b1
Removing instruction jmp __b2
Removing instruction jmp __b3
Removing instruction jmp __b4
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 __b6
Removing instruction jmp __b7
Removing instruction jmp __b8
Removing instruction jmp __b9
Removing instruction jmp __b10
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 __b9
Removing instruction jmp __b10
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 __b9
Removing instruction jmp __b10
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 __b9
Removing instruction jmp __b10
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
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 __b1
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b6
Removing instruction jmp __b2
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b9
Removing instruction jmp __b8
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b1
Removing instruction jmp __breturn
Removing instruction jmp __b3
Removing instruction jmp __b2
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b2
Removing instruction jmp __b5
Removing instruction jmp __b3
Removing instruction jmp __b6
Removing instruction jmp __breturn
Removing instruction jmp __breturn
Removing instruction jmp __b1
Removing instruction jmp __b4
Removing instruction jmp __b2
Removing instruction jmp __b5
Removing instruction jmp __b3
Removing instruction jmp __b6
Removing instruction jmp __breturn
Removing instruction jmp __b6
Removing instruction jmp __b2
Removing instruction jmp __b7
Removing instruction jmp __b4
Removing instruction jmp __b9
Removing instruction jmp __b8
Removing instruction jmp __breturn
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction ldy.z i
Removing instruction lda.z divisor
Removing instruction ldy.z i
Replacing instruction ldy.z divisor with TAY
Replacing instruction lda #0 with TXA
Replacing instruction ldy #0 with TAY
Replacing instruction lda #<0 with TXA
Removing instruction lda #>0
Removing instruction lda #<0
Removing instruction lda #>0
Succesful ASM optimization Pass5UnnecesaryLoadElimination
Replacing label __b1_from___b10 with __b1
Replacing label __b1_from___b10 with __b1
Replacing label __b1_from___b10 with __b1
Replacing label __b1_from___b3 with __b1
Replacing label __b1_from___b1 with __b1
Replacing label __b1_from___b1 with __b1
Replacing label __breturn_from___b5 with __breturn
Replacing label __b4_from___b3 with __b4
Replacing label __b1_from_print_schar with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b1_from_print_sint with __b1
Replacing label __b2_from___b4 with __b2
Replacing label __b2_from___b1 with __b2
Replacing label __b3_from___b2 with __b3
Replacing label __b1_from___b3 with __b1
Replacing label __b2_from___b1 with __b2
Replacing label __b3_from___b2 with __b3
Replacing label __b3_from___b2 with __b3
Replacing label __b1_from___b3 with __b1
Replacing label __breturn_from___b5 with __breturn
Replacing label __b4_from___b3 with __b4
Removing instruction __b1_from_main:
Removing instruction test_8u_from___b1:
Removing instruction __b2_from___b1:
Removing instruction test_16u_from___b2:
Removing instruction __b3_from___b2:
Removing instruction test_8s_from___b3:
Removing instruction __b4_from___b3:
Removing instruction test_16s_from___b4:
Removing instruction __b3_from___b2:
Removing instruction print_str_from___b3:
Removing instruction __b5_from___b4:
Removing instruction print_str_from___b5:
Removing instruction __b7_from___b6:
Removing instruction print_str_from___b7:
Removing instruction __b9_from___b8:
Removing instruction print_ln_from___b9:
Removing instruction __b1_from___b10:
Removing instruction __b3_from___b2:
Removing instruction print_str_from___b3:
Removing instruction __b5_from___b4:
Removing instruction print_str_from___b5:
Removing instruction __b7_from___b6:
Removing instruction print_str_from___b7:
Removing instruction __b9_from___b8:
Removing instruction print_ln_from___b9:
Removing instruction __b1_from___b10:
Removing instruction __b3_from___b2:
Removing instruction print_str_from___b3:
Removing instruction __b5_from___b4:
Removing instruction print_str_from___b5:
Removing instruction __b7_from___b6:
Removing instruction print_str_from___b7:
Removing instruction __b9_from___b8:
Removing instruction print_ln_from___b9:
Removing instruction __b1_from___b10:
Removing instruction __b3_from___b2:
Removing instruction print_str_from___b3:
Removing instruction __b5_from___b4:
Removing instruction print_str_from___b5:
Removing instruction __b7_from___b6:
Removing instruction print_str_from___b7:
Removing instruction __b9_from___b8:
Removing instruction print_ln_from___b9:
Removing instruction __breturn:
Removing instruction __b1_from_print_str:
Removing instruction __b1_from___b3:
Removing instruction __b1_from_print_ln:
Removing instruction __b1_from___b1:
Removing instruction __breturn:
Removing instruction __b2_from___b6:
Removing instruction __b4_from___b3:
Removing instruction __b4_from___b7:
Removing instruction div8u_from___b4:
Removing instruction __breturn_from___b5:
Removing instruction __breturn_from___b8:
Removing instruction __b3_from_print_schar:
Removing instruction print_char_from___b3:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Removing instruction print_uchar_from___b2:
Removing instruction __b1_from_print_schar:
Removing instruction print_char_from___b1:
Removing instruction __breturn:
Removing instruction __b3_from_print_sint:
Removing instruction print_char_from___b3:
Removing instruction __b2_from___b3:
Removing instruction __b2_from___b4:
Removing instruction print_uint_from___b2:
Removing instruction __b1_from_print_sint:
Removing instruction print_char_from___b1:
Removing instruction __b1_from___b3:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b4:
Removing instruction __b3_from___b2:
Removing instruction __b3_from___b5:
Removing instruction __b1_from___b3:
Removing instruction __b2_from___b1:
Removing instruction __b2_from___b4:
Removing instruction __b3_from___b2:
Removing instruction __b3_from___b5:
Removing instruction __breturn:
Removing instruction __b2_from___b6:
Removing instruction __b7:
Removing instruction __b4_from___b3:
Removing instruction __b4_from___b7:
Removing instruction divr16u_from___b4:
Removing instruction __breturn_from___b5:
Removing instruction __breturn_from___b8:
Succesful ASM optimization Pass5RedundantLabelElimination
Removing instruction print_cls_from_main:
Removing instruction __b1:
Removing instruction __b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction __breturn:
Removing instruction memset_from_print_cls:
Removing instruction __breturn:
Removing instruction __b1_from_test_8u:
Removing instruction div8u_from___b1:
Removing instruction __b2:
Removing instruction print_uchar_from___b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction print_uchar_from___b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction print_uchar_from___b6:
Removing instruction __b7:
Removing instruction __b8:
Removing instruction print_uchar_from___b8:
Removing instruction __b9:
Removing instruction __b10:
Removing instruction __breturn:
Removing instruction __b1_from___b11:
Removing instruction __b1_from_test_16u:
Removing instruction __b2:
Removing instruction print_uint_from___b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction print_uint_from___b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction print_uint_from___b6:
Removing instruction __b7:
Removing instruction __b8:
Removing instruction print_uint_from___b8:
Removing instruction __b9:
Removing instruction __b10:
Removing instruction __breturn:
Removing instruction __b1_from_test_8s:
Removing instruction __b2:
Removing instruction print_schar_from___b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction print_schar_from___b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction print_schar_from___b6:
Removing instruction __b7:
Removing instruction __b8:
Removing instruction print_schar_from___b8:
Removing instruction __b9:
Removing instruction __b10:
Removing instruction __breturn:
Removing instruction __b1_from_test_16s:
Removing instruction __b2:
Removing instruction print_sint_from___b2:
Removing instruction __b3:
Removing instruction __b4:
Removing instruction print_sint_from___b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction print_sint_from___b6:
Removing instruction __b7:
Removing instruction __b8:
Removing instruction print_sint_from___b8:
Removing instruction __b9:
Removing instruction __b10:
Removing instruction __breturn:
Removing instruction __b1_from_memset:
Removing instruction __breturn:
Removing instruction __b1_from___b2:
Removing instruction divr8u_from_div8u:
Removing instruction __b1:
Removing instruction print_char_from_print_uchar:
Removing instruction __b1:
Removing instruction print_char_from___b1:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction print_char_from___b2:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction divr16u_from_div16u:
Removing instruction __b1:
Removing instruction print_uchar_from_print_uint:
Removing instruction __b1:
Removing instruction print_uchar_from___b1:
Removing instruction __breturn:
Removing instruction __b6:
Removing instruction __b7:
Removing instruction __b9:
Removing instruction __b8:
Removing instruction __b2_from___b1:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b4:
Removing instruction __b1:
Removing instruction __b3:
Removing instruction __breturn:
Removing instruction __b4:
Removing instruction __b1_from_divr8u:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __breturn:
Removing instruction __breturn:
Removing instruction __b1_from_divr16u:
Removing instruction __b4:
Removing instruction __b5:
Removing instruction __b6:
Removing instruction __b6:
Removing instruction __b9:
Removing instruction __b8:
Removing instruction __b2_from___b1:
Succesful ASM optimization Pass5UnusedLabelElimination
Replacing jump to rts with rts in jmp __breturn
Skipping double jump to __breturn in beq __b5
Replacing jump to rts with rts in jmp __breturn
Succesful ASM optimization Pass5DoubleJumpElimination
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b1
Removing instruction jmp __b1
Succesful ASM optimization Pass5NextJumpElimination
Removing instruction __breturn:
Removing instruction __b5:
Succesful ASM optimization Pass5UnusedLabelElimination
Removing unreachable instruction rts
Succesful ASM optimization Pass5UnreachableCodeElimination

FINAL SYMBOL TABLE
__constant char RADIX::BINARY = 2
__constant char RADIX::DECIMAL = $a
__constant char RADIX::HEXADECIMAL = $10
__constant char RADIX::OCTAL = 8
int div16s(int dividend , int divisor)
int div16s::dividend
int div16s::dividend#0 // dividend zp[2]:6 551.0
int div16s::divisor
int div16s::divisor#0 // divisor zp[2]:20 551.0
int div16s::return
int div16s::return#0 // return zp[2]:14 367.33333333333337
int div16s::return#2 // return zp[2]:14 202.0
unsigned int div16u(unsigned int dividend , unsigned int divisor)
unsigned int div16u::dividend
unsigned int div16u::dividend#0 // dividend zp[2]:12 551.0
unsigned int div16u::divisor
unsigned int div16u::divisor#0 // divisor zp[2]:8 551.0
unsigned int div16u::return
unsigned int div16u::return#0 // return zp[2]:14 367.33333333333337
unsigned int div16u::return#2 // return zp[2]:14 202.0
signed char div8s(signed char dividend , signed char divisor)
signed char div8s::dividend
signed char div8s::dividend#0 // reg byte x 701.0
char div8s::dividendu
signed char div8s::dividendu#1 // reg byte a 1001.0
char div8s::dividendu#3 // reg byte x 429.0
char div8s::dividendu#7 // reg byte x 2002.0
char div8s::dividendu#8 // reg byte x 2002.0
signed char div8s::divisor
signed char div8s::divisor#0 // reg byte y 300.42857142857144
char div8s::divisoru
signed char div8s::divisoru#1 // reg byte y 500.5
char div8s::divisoru#3 // reg byte a 1501.5
char div8s::divisoru#4 // reg byte a 2002.0
char div8s::divisoru#5 // reg byte a 2002.0
char div8s::neg
char div8s::neg#2 // neg zp[1]:16 1001.0
char div8s::neg#3 // neg zp[1]:16 500.5
char div8s::neg#4 // neg zp[1]:16 500.5
char div8s::resultu
char div8s::resultu#0 // reg byte y 333.6666666666667
signed char div8s::return
signed char div8s::return#1 // reg byte a 2002.0
signed char div8s::return#2 // reg byte a 701.0
signed char div8s::return#3 // reg byte a 202.0
signed char div8s::return#6 // reg byte a 1001.0
char div8u(char dividend , char divisor)
char div8u::dividend
char div8u::dividend#0 // reg byte x 1001.0
char div8u::dividend#1 // reg byte x 101.0
char div8u::dividend#2 // reg byte x 11103.0
char div8u::divisor
char div8u::divisor#0 // reg byte a 2002.0
char div8u::divisor#1 // reg byte a 202.0
char div8u::divisor#2 // reg byte a 5551.5
char div8u::return
char div8u::return#0 // reg byte a 2775.75
char div8u::return#2 // reg byte a 2002.0
char div8u::return#3 // reg byte a 202.0
int divr16s(int dividend , int divisor , int rem)
int divr16s::dividend
int divr16s::dividend#0 // dividend zp[2]:12 7001.0
unsigned int divr16s::dividendu
int divr16s::dividendu#1 // dividendu zp[2]:12 10001.0
unsigned int divr16s::dividendu#3 // dividendu zp[2]:12 4286.142857142857
unsigned int divr16s::dividendu#7 // dividendu zp[2]:12 20002.0
unsigned int divr16s::dividendu#8 // dividendu zp[2]:12 20002.0
int divr16s::divisor
int divr16s::divisor#0 // divisor zp[2]:8 3000.4285714285716
unsigned int divr16s::divisoru
int divr16s::divisoru#1 // divisoru zp[2]:8 5000.5
unsigned int divr16s::divisoru#3 // divisoru zp[2]:8 15001.5
unsigned int divr16s::divisoru#4 // divisoru zp[2]:8 20002.0
unsigned int divr16s::divisoru#5 // divisoru zp[2]:8 20002.0
char divr16s::neg
char divr16s::neg#2 // reg byte y 10001.0
char divr16s::neg#3 // reg byte y 5000.5
char divr16s::neg#4 // reg byte y 5000.5
int divr16s::rem
unsigned int divr16s::remu
unsigned int divr16s::resultu
unsigned int divr16s::resultu#0 // resultu zp[2]:14 3333.6666666666665
int divr16s::return
int divr16s::return#1 // return zp[2]:14 20002.0
int divr16s::return#2 // return zp[2]:14 7001.0
int divr16s::return#3 // return zp[2]:14 2002.0
int divr16s::return#6 // return zp[2]:14 10001.0
unsigned int divr16u(unsigned int dividend , unsigned int divisor , unsigned int rem)
char divr16u::$1 // reg byte a 2.0000002E7
char divr16u::$2 // reg byte a 2.0000002E7
unsigned int divr16u::dividend
unsigned int divr16u::dividend#0 // dividend zp[2]:12 2500000.25
unsigned int divr16u::dividend#1 // dividend zp[2]:12 1001.0
unsigned int divr16u::dividend#2 // dividend zp[2]:12 10001.0
unsigned int divr16u::dividend#3 // dividend zp[2]:12 4300000.571428571
unsigned int divr16u::dividend#5 // dividend zp[2]:12 111003.0
unsigned int divr16u::divisor
unsigned int divr16u::divisor#0 // divisor zp[2]:8 2002.0
unsigned int divr16u::divisor#1 // divisor zp[2]:8 20002.0
unsigned int divr16u::divisor#6 // divisor zp[2]:8 1250687.75
char divr16u::i
char divr16u::i#1 // reg byte x 1.50000015E7
char divr16u::i#2 // reg byte x 1538461.6923076923
unsigned int divr16u::quotient
unsigned int divr16u::quotient#1 // quotient zp[2]:14 1.50000015E7
unsigned int divr16u::quotient#2 // quotient zp[2]:14 1.0000001E7
unsigned int divr16u::quotient#3 // quotient zp[2]:14 2500000.25
unsigned int divr16u::rem
unsigned int divr16u::rem#0 // rem zp[2]:10 7500000.75
unsigned int divr16u::rem#1 // rem zp[2]:10 2.0000002E7
unsigned int divr16u::rem#11 // rem zp[2]:10 1.0033334666666666E7
unsigned int divr16u::rem#2 // rem zp[2]:10 2.0000002E7
unsigned int divr16u::rem#5 // rem zp[2]:10 2.0000002E7
unsigned int divr16u::rem#6 // rem zp[2]:10 1.0000001E7
unsigned int divr16u::return
unsigned int divr16u::return#0 // return zp[2]:14 4287286.428571429
unsigned int divr16u::return#2 // return zp[2]:14 2002.0
unsigned int divr16u::return#3 // return zp[2]:14 20002.0
char divr8u(char dividend , char divisor , char rem)
char divr8u::$1 // reg byte a 2.0000002E7
char divr8u::dividend
char divr8u::dividend#0 // dividend zp[1]:17 36667.33333333333
char divr8u::dividend#1 // dividend zp[1]:17 2500000.25
char divr8u::dividend#2 // dividend zp[1]:17 5016667.333333333
char divr8u::divisor
char divr8u::divisor#0 // divisor zp[1]:22 1250625.1875
char divr8u::i
char divr8u::i#1 // reg byte x 1.50000015E7
char divr8u::i#2 // reg byte x 1666666.8333333333
char divr8u::quotient
char divr8u::quotient#1 // quotient zp[1]:19 1.50000015E7
char divr8u::quotient#2 // quotient zp[1]:19 1.0000001E7
char divr8u::quotient#3 // quotient zp[1]:19 2857143.1428571427
char divr8u::rem
char divr8u::rem#1 // reg byte y 1.0000001E7
char divr8u::rem#10 // reg byte y 1.0033334666666666E7
char divr8u::rem#2 // reg byte y 2.0000002E7
char divr8u::rem#3 // reg byte y 2.0000002E7
char divr8u::rem#4 // reg byte y 2.0000002E7
char divr8u::rem#5 // reg byte y 1.0000001E7
char divr8u::return
char divr8u::return#0 // reg byte a 20002.0
char divr8u::return#1 // return zp[1]:19 5001667.333333333
void main()
void * memset(void *str , char c , unsigned int num)
char memset::c
__constant char memset::c#0 = ' ' // c
char *memset::dst
char *memset::dst#1 // dst zp[2]:6 2002.0
char *memset::dst#2 // dst zp[2]:6 1334.6666666666667
char *memset::end
__constant char *memset::end#0 = (char *)memset::str#0+memset::num#0 // end
unsigned int memset::num
__constant unsigned int memset::num#0 = $3e8 // num
void *memset::return
void *memset::str
__constant void *memset::str#0 = (void *)print_screen#0 // str
void print_char(char ch)
char print_char::ch
char print_char::ch#0 // reg byte a 200002.0
char print_char::ch#5 // reg byte a 200002.0
char print_char::ch#6 // reg byte a 200002.0
char print_char::ch#7 // reg byte a 1300004.0
char *print_char_cursor
char *print_char_cursor#135 // print_char_cursor zp[2]:12 601.5
char *print_char_cursor#138 // print_char_cursor zp[2]:12 601.5
char *print_char_cursor#141 // print_char_cursor zp[2]:12 5703.0
char *print_char_cursor#142 // print_char_cursor zp[2]:12 40469.33333333333
char *print_char_cursor#144 // print_char_cursor zp[2]:12 22.444444444444443
char *print_char_cursor#160 // print_char_cursor zp[2]:12 202.0
char *print_char_cursor#164 // print_char_cursor zp[2]:12 202.0
char *print_char_cursor#169 // print_char_cursor zp[2]:12 202.0
char *print_char_cursor#18 // print_char_cursor zp[2]:12 14274.119565217392
char *print_char_cursor#187 // print_char_cursor zp[2]:12 202.0
char *print_char_cursor#85 // print_char_cursor zp[2]:12 1152004.5
void print_cls()
__constant const char print_hextab[] = "0123456789abcdef"z
char *print_line_cursor
char *print_line_cursor#0 // print_line_cursor zp[2]:4 2949.127450980392
char *print_line_cursor#21 // print_line_cursor zp[2]:4 201003.0
char *print_line_cursor#41 // print_line_cursor zp[2]:4 1405.0
char *print_line_cursor#43 // print_line_cursor zp[2]:4 8.782608695652174
void print_ln()
void print_schar(signed char b)
signed char print_schar::b
signed char print_schar::b#0 // b zp[1]:3 2002.0
signed char print_schar::b#1 // b zp[1]:3 101.0
signed char print_schar::b#10 // b zp[1]:3 567.8333333333334
signed char print_schar::b#2 // b zp[1]:3 202.0
signed char print_schar::b#3 // b zp[1]:3 202.0
signed char print_schar::b#4 // b zp[1]:3 202.0
signed char print_schar::b#7 // b zp[1]:3 2002.0
char *print_screen
__constant char *print_screen#0 = (char *) 1024 // print_screen
void print_sint(int w)
int print_sint::w
int print_sint::w#0 // w zp[2]:6 2002.0
int print_sint::w#1 // w zp[2]:6 101.0
int print_sint::w#10 // w zp[2]:6 567.8333333333334
int print_sint::w#2 // w zp[2]:6 202.0
int print_sint::w#3 // w zp[2]:6 202.0
int print_sint::w#4 // w zp[2]:6 202.0
int print_sint::w#7 // w zp[2]:6 2002.0
void print_str(char *str)
char *print_str::str
char *print_str::str#0 // str zp[2]:6 200002.0
char *print_str::str#13 // str zp[2]:6 100251.25
char *print_str::str#16 // str zp[2]:6 1001.0
void print_uchar(char b)
char print_uchar::$0 // reg byte a 200002.0
char print_uchar::$2 // reg byte a 200002.0
char print_uchar::b
char print_uchar::b#0 // b zp[1]:3 2002.0
char print_uchar::b#1 // b zp[1]:3 20002.0
char print_uchar::b#2 // b zp[1]:3 20002.0
char print_uchar::b#3 // b zp[1]:3 202.0
char print_uchar::b#4 // b zp[1]:3 202.0
char print_uchar::b#5 // b zp[1]:3 202.0
char print_uchar::b#6 // b zp[1]:3 202.0
char print_uchar::b#7 // b zp[1]:3 55352.25
void print_uint(unsigned int w)
unsigned int print_uint::w
unsigned int print_uint::w#0 // w zp[2]:6 2002.0
unsigned int print_uint::w#1 // w zp[2]:6 101.0
unsigned int print_uint::w#2 // w zp[2]:6 202.0
unsigned int print_uint::w#3 // w zp[2]:6 202.0
unsigned int print_uint::w#4 // w zp[2]:6 202.0
unsigned int print_uint::w#5 // w zp[2]:6 7135.666666666666
int rem16s
int rem16s#1 // rem16s zp[2]:10 10001.0
int rem16s#12 // rem16s zp[2]:10 913.7727272727273
int rem16s#38 // rem16s zp[2]:10 20002.0
unsigned int rem16u
unsigned int rem16u#0 // rem16u zp[2]:10 3707.4814814814818
signed char rem8s
signed char rem8s#1 // reg byte x 1001.0
signed char rem8s#10 // reg byte x 116.83333333333334
signed char rem8s#33 // reg byte x 2002.0
char rem8u
char rem8u#18 // reg byte x 3850.076923076923
__constant char str[4] = " / "
__constant char str1[4] = " = "
__constant char str2[2] = " "
void test_16s()
char test_16s::$11 // reg byte x 151.5
int test_16s::dividend
int test_16s::dividend#0 // dividend zp[2]:6 43.285714285714285
__constant int test_16s::dividends[] = { $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff }
int test_16s::divisor
int test_16s::divisor#0 // divisor zp[2]:20 27.545454545454547
__constant int test_16s::divisors[] = { 5, -7, $b, -$d, -$11, $13 }
char test_16s::i
char test_16s::i#1 // i zp[1]:2 151.5
char test_16s::i#10 // i zp[1]:2 11.653846153846153
int test_16s::res
int test_16s::res#0 // res zp[2]:14 20.2
void test_16u()
char test_16u::$11 // reg byte x 151.5
unsigned int test_16u::dividend
unsigned int test_16u::dividend#0 // dividend zp[2]:6 43.285714285714285
__constant unsigned int test_16u::dividends[] = { $ffff, $ffff, $ffff, $ffff, $ffff, $ffff }
unsigned int test_16u::divisor
unsigned int test_16u::divisor#0 // divisor zp[2]:8 27.545454545454547
__constant unsigned int test_16u::divisors[] = { 5, 7, $b, $d, $11, $13 }
char test_16u::i
char test_16u::i#1 // i zp[1]:2 151.5
char test_16u::i#10 // i zp[1]:2 11.653846153846153
unsigned int test_16u::res
unsigned int test_16u::res#0 // res zp[2]:14 20.2
void test_8s()
signed char test_8s::dividend
signed char test_8s::dividend#0 // dividend zp[1]:3 43.285714285714285
__constant signed char test_8s::dividends[] = { $7f, -$7f, -$7f, $7f, $7f, $7f }
signed char test_8s::divisor
signed char test_8s::divisor#0 // divisor zp[1]:18 27.545454545454547
__constant signed char test_8s::divisors[] = { 5, 7, -$b, -$d, $11, $13 }
char test_8s::i
char test_8s::i#1 // i zp[1]:2 151.5
char test_8s::i#10 // i zp[1]:2 16.16
signed char test_8s::res
signed char test_8s::res#0 // res zp[1]:19 20.2
void test_8u()
char test_8u::dividend
char test_8u::dividend#0 // dividend zp[1]:3 43.285714285714285
__constant char test_8u::dividends[] = { $ff, $ff, $ff, $ff, $ff, $ff }
char test_8u::divisor
char test_8u::divisor#0 // divisor zp[1]:16 30.299999999999997
__constant char test_8u::divisors[] = { 5, 7, $b, $d, $11, $13 }
char test_8u::i
char test_8u::i#1 // i zp[1]:2 101.0
char test_8u::i#10 // i zp[1]:2 16.833333333333332
char test_8u::res
char test_8u::res#0 // res zp[1]:17 22.444444444444443

zp[1]:2 [ test_16s::i#10 test_16s::i#1 test_8s::i#10 test_8s::i#1 test_16u::i#10 test_16u::i#1 test_8u::i#10 test_8u::i#1 ]
reg byte x [ div8u::dividend#2 div8u::dividend#0 div8u::dividend#1 ]
reg byte a [ div8u::divisor#2 div8u::divisor#0 div8u::divisor#1 ]
zp[1]:3 [ print_uchar::b#7 print_uchar::b#0 print_uchar::b#1 print_uchar::b#2 print_uchar::b#3 print_uchar::b#4 print_uchar::b#5 print_uchar::b#6 print_schar::b#7 print_schar::b#0 print_schar::b#10 print_schar::b#1 print_schar::b#2 print_schar::b#3 print_schar::b#4 test_8u::dividend#0 test_8s::dividend#0 ]
zp[2]:4 [ print_line_cursor#21 print_line_cursor#41 print_line_cursor#43 print_line_cursor#0 ]
zp[2]:6 [ print_uint::w#5 print_uint::w#0 print_uint::w#1 print_uint::w#2 print_uint::w#3 print_uint::w#4 print_sint::w#7 print_sint::w#0 print_sint::w#10 print_sint::w#1 print_sint::w#2 print_sint::w#3 print_sint::w#4 test_16u::dividend#0 test_16s::dividend#0 div16s::dividend#0 print_str::str#13 print_str::str#16 print_str::str#0 memset::dst#2 memset::dst#1 ]
reg byte x [ div8s::dividendu#3 div8s::dividendu#7 div8s::dividendu#8 ]
reg byte a [ div8s::divisoru#3 div8s::divisoru#4 div8s::divisoru#5 ]
reg byte a [ div8s::return#2 div8s::return#6 div8s::return#1 ]
reg byte x [ rem8s#10 rem8s#33 rem8s#1 ]
reg byte y [ divr8u::rem#4 divr8u::rem#10 divr8u::rem#5 divr8u::rem#1 divr8u::rem#2 divr8u::rem#3 ]
reg byte x [ divr8u::i#2 divr8u::i#1 ]
reg byte a [ print_char::ch#7 print_char::ch#0 print_char::ch#5 print_char::ch#6 ]
zp[2]:8 [ divr16u::divisor#6 divr16u::divisor#0 divr16u::divisor#1 divr16s::divisoru#3 divr16s::divisoru#4 divr16s::divisoru#5 div16u::divisor#0 divr16s::divisor#0 divr16s::divisoru#1 test_16u::divisor#0 ]
zp[2]:10 [ divr16u::rem#5 divr16u::rem#11 divr16u::rem#6 divr16u::rem#0 divr16u::rem#1 divr16u::rem#2 rem16s#12 rem16s#38 rem16s#1 rem16u#0 ]
zp[2]:12 [ divr16u::dividend#3 divr16u::dividend#5 divr16u::dividend#1 divr16u::dividend#2 divr16u::dividend#0 divr16s::dividendu#3 divr16s::dividendu#7 divr16s::dividendu#8 div16u::dividend#0 divr16s::dividend#0 divr16s::dividendu#1 print_char_cursor#85 print_char_cursor#135 print_char_cursor#160 print_char_cursor#138 print_char_cursor#164 print_char_cursor#142 print_char_cursor#18 print_char_cursor#141 print_char_cursor#144 print_char_cursor#187 print_char_cursor#169 ]
zp[2]:14 [ divr16u::quotient#3 divr16u::return#0 divr16u::quotient#1 divr16u::quotient#2 divr16u::return#2 divr16u::return#3 divr16s::return#2 divr16s::return#6 divr16s::return#1 divr16s::resultu#0 divr16s::return#3 div16u::return#2 test_16u::res#0 div16u::return#0 div16s::return#2 test_16s::res#0 div16s::return#0 ]
reg byte x [ divr16u::i#2 divr16u::i#1 ]
reg byte y [ divr16s::neg#4 divr16s::neg#2 divr16s::neg#3 ]
zp[1]:16 [ test_8u::divisor#0 div8s::neg#4 div8s::neg#2 div8s::neg#3 ]
reg byte a [ div8u::return#3 ]
zp[1]:17 [ test_8u::res#0 divr8u::dividend#2 divr8u::dividend#0 divr8u::dividend#1 ]
reg byte x [ test_16u::$11 ]
zp[1]:18 [ test_8s::divisor#0 ]
reg byte x [ div8s::dividend#0 ]
reg byte y [ div8s::divisor#0 ]
reg byte a [ div8s::return#3 ]
zp[1]:19 [ test_8s::res#0 divr8u::quotient#3 divr8u::return#1 divr8u::quotient#1 divr8u::quotient#2 ]
reg byte x [ test_16s::$11 ]
zp[2]:20 [ test_16s::divisor#0 div16s::divisor#0 ]
zp[1]:22 [ divr8u::divisor#0 ]
reg byte a [ divr8u::return#0 ]
reg byte a [ div8u::return#0 ]
reg byte a [ print_uchar::$0 ]
reg byte a [ print_uchar::$2 ]
reg byte a [ div8u::return#2 ]
reg byte y [ div8s::resultu#0 ]
reg byte y [ div8s::divisoru#1 ]
reg byte a [ div8s::dividendu#1 ]
reg byte a [ divr8u::$1 ]
reg byte x [ rem8u#18 ]
reg byte a [ divr16u::$1 ]
reg byte a [ divr16u::$2 ]


FINAL ASSEMBLER
Score: 31443

  // File Comments
// Test the binary division library
/// @file
/// A lightweight library for printing on the C64.
///
/// Printing with this library is done by calling print_ function for each element
  // Upstart
  // Commodore 64 PRG executable file
.file [name="test-division.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(main)
  // Global Constants & labels
  .label print_screen = $400
  .label print_line_cursor = 4
  .label print_char_cursor = $c
  // Remainder after unsigned 16-bit division
  .label rem16u = $a
  // Remainder after signed 16 bit division
  .label rem16s = $a
.segment Code
  // main
main: {
    // print_cls()
    // [1] call print_cls
    // [11] phi from main to print_cls [phi:main->print_cls]
    jsr print_cls
    // [2] phi from main to main::@1 [phi:main->main::@1]
    // main::@1
    // test_8u()
    // [3] call test_8u
    // [14] phi from main::@1 to test_8u [phi:main::@1->test_8u]
    jsr test_8u
    // [4] phi from main::@1 to main::@2 [phi:main::@1->main::@2]
    // main::@2
    // test_16u()
    // [5] call test_16u
    // [43] phi from main::@2 to test_16u [phi:main::@2->test_16u]
    jsr test_16u
    // [6] phi from main::@2 to main::@3 [phi:main::@2->main::@3]
    // main::@3
    // test_8s()
    // [7] call test_8s
    // [73] phi from main::@3 to test_8s [phi:main::@3->test_8s]
    jsr test_8s
    // [8] phi from main::@3 to main::@4 [phi:main::@3->main::@4]
    // main::@4
    // test_16s()
    // [9] call test_16s
    // [102] phi from main::@4 to test_16s [phi:main::@4->test_16s]
    jsr test_16s
    // main::@return
    // }
    // [10] return 
    rts
}
  // print_cls
// Clear the screen. Also resets current line/char cursor.
print_cls: {
    // memset(print_screen, ' ', 1000)
    // [12] call memset
    // [132] phi from print_cls to memset [phi:print_cls->memset]
    jsr memset
    // print_cls::@return
    // }
    // [13] return 
    rts
}
  // test_8u
test_8u: {
    .label dividend = 3
    .label divisor = $10
    .label res = $11
    .label i = 2
    // [15] phi from test_8u to test_8u::@1 [phi:test_8u->test_8u::@1]
    // [15] phi print_line_cursor#43 = print_screen#0 [phi:test_8u->test_8u::@1#0] -- pbuz1=pbuc1 
    lda #<print_screen
    sta.z print_line_cursor
    lda #>print_screen
    sta.z print_line_cursor+1
    // [15] phi print_char_cursor#144 = print_screen#0 [phi:test_8u->test_8u::@1#1] -- pbuz1=pbuc1 
    lda #<print_screen
    sta.z print_char_cursor
    lda #>print_screen
    sta.z print_char_cursor+1
    // [15] phi test_8u::i#10 = 0 [phi:test_8u->test_8u::@1#2] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // test_8u::@1
  __b1:
    // byte dividend = dividends[i]
    // [16] test_8u::dividend#0 = test_8u::dividends[test_8u::i#10] -- vbuz1=pbuc1_derefidx_vbuz2 
    ldy.z i
    lda dividends,y
    sta.z dividend
    // byte divisor = divisors[i]
    // [17] test_8u::divisor#0 = test_8u::divisors[test_8u::i#10] -- vbuz1=pbuc1_derefidx_vbuz2 
    lda divisors,y
    sta.z divisor
    // byte res = div8u(dividend, divisor)
    // [18] div8u::dividend#1 = test_8u::dividend#0 -- vbuxx=vbuz1 
    ldx.z dividend
    // [19] div8u::divisor#1 = test_8u::divisor#0 -- vbuaa=vbuz1 
    // [20] call div8u
    // [138] phi from test_8u::@1 to div8u [phi:test_8u::@1->div8u]
    // [138] phi div8u::divisor#2 = div8u::divisor#1 [phi:test_8u::@1->div8u#0] -- register_copy 
    // [138] phi div8u::dividend#2 = div8u::dividend#1 [phi:test_8u::@1->div8u#1] -- register_copy 
    jsr div8u
    // byte res = div8u(dividend, divisor)
    // [21] div8u::return#3 = div8u::return#0
    // test_8u::@2
    // [22] test_8u::res#0 = div8u::return#3 -- vbuz1=vbuaa 
    sta.z res
    // print_uchar(dividend)
    // [23] print_uchar::b#3 = test_8u::dividend#0
    // [24] call print_uchar
    // [145] phi from test_8u::@2 to print_uchar [phi:test_8u::@2->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#144 [phi:test_8u::@2->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#3 [phi:test_8u::@2->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [25] phi from test_8u::@2 to test_8u::@3 [phi:test_8u::@2->test_8u::@3]
    // test_8u::@3
    // print_str(" / ")
    // [26] call print_str
    // [153] phi from test_8u::@3 to print_str [phi:test_8u::@3->print_str]
    // [153] phi print_str::str#16 = str [phi:test_8u::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    // test_8u::@4
    // print_uchar(divisor)
    // [27] print_uchar::b#4 = test_8u::divisor#0 -- vbuz1=vbuz2 
    lda.z divisor
    sta.z print_uchar.b
    // [28] call print_uchar
    // [145] phi from test_8u::@4 to print_uchar [phi:test_8u::@4->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:test_8u::@4->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#4 [phi:test_8u::@4->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [29] phi from test_8u::@4 to test_8u::@5 [phi:test_8u::@4->test_8u::@5]
    // test_8u::@5
    // print_str(" = ")
    // [30] call print_str
    // [153] phi from test_8u::@5 to print_str [phi:test_8u::@5->print_str]
    // [153] phi print_str::str#16 = str1 [phi:test_8u::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    // test_8u::@6
    // print_uchar(res)
    // [31] print_uchar::b#5 = test_8u::res#0 -- vbuz1=vbuz2 
    lda.z res
    sta.z print_uchar.b
    // [32] call print_uchar
    // [145] phi from test_8u::@6 to print_uchar [phi:test_8u::@6->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:test_8u::@6->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#5 [phi:test_8u::@6->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [33] phi from test_8u::@6 to test_8u::@7 [phi:test_8u::@6->test_8u::@7]
    // test_8u::@7
    // print_str(" ")
    // [34] call print_str
    // [153] phi from test_8u::@7 to print_str [phi:test_8u::@7->print_str]
    // [153] phi print_str::str#16 = str2 [phi:test_8u::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    // test_8u::@8
    // print_uchar(rem8u)
    // [35] print_uchar::b#6 = rem8u#18 -- vbuz1=vbuxx 
    stx.z print_uchar.b
    // [36] call print_uchar
    // [145] phi from test_8u::@8 to print_uchar [phi:test_8u::@8->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:test_8u::@8->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#6 [phi:test_8u::@8->print_uchar#1] -- register_copy 
    jsr print_uchar
    // [37] phi from test_8u::@8 to test_8u::@9 [phi:test_8u::@8->test_8u::@9]
    // test_8u::@9
    // print_ln()
    // [38] call print_ln
    // [160] phi from test_8u::@9 to print_ln [phi:test_8u::@9->print_ln]
    // [160] phi print_line_cursor#41 = print_line_cursor#43 [phi:test_8u::@9->print_ln#0] -- register_copy 
    jsr print_ln
    // test_8u::@10
    // for( byte i: 0..5 )
    // [39] test_8u::i#1 = ++ test_8u::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [40] if(test_8u::i#1!=6) goto test_8u::@11 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b11
    // test_8u::@return
    // }
    // [41] return 
    rts
    // test_8u::@11
  __b11:
    // [42] print_char_cursor#187 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // [15] phi from test_8u::@11 to test_8u::@1 [phi:test_8u::@11->test_8u::@1]
    // [15] phi print_line_cursor#43 = print_line_cursor#0 [phi:test_8u::@11->test_8u::@1#0] -- register_copy 
    // [15] phi print_char_cursor#144 = print_char_cursor#187 [phi:test_8u::@11->test_8u::@1#1] -- register_copy 
    // [15] phi test_8u::i#10 = test_8u::i#1 [phi:test_8u::@11->test_8u::@1#2] -- register_copy 
    jmp __b1
  .segment Data
    dividends: .byte $ff, $ff, $ff, $ff, $ff, $ff
    divisors: .byte 5, 7, $b, $d, $11, $13
}
.segment Code
  // test_16u
test_16u: {
    .label dividend = 6
    .label divisor = 8
    .label res = $e
    .label i = 2
    // [44] phi from test_16u to test_16u::@1 [phi:test_16u->test_16u::@1]
    // [44] phi test_16u::i#10 = 0 [phi:test_16u->test_16u::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [44] phi from test_16u::@10 to test_16u::@1 [phi:test_16u::@10->test_16u::@1]
    // [44] phi test_16u::i#10 = test_16u::i#1 [phi:test_16u::@10->test_16u::@1#0] -- register_copy 
    // test_16u::@1
  __b1:
    // word dividend = dividends[i]
    // [45] test_16u::$11 = test_16u::i#10 << 1 -- vbuxx=vbuz1_rol_1 
    lda.z i
    asl
    tax
    // [46] test_16u::dividend#0 = test_16u::dividends[test_16u::$11] -- vwuz1=pwuc1_derefidx_vbuxx 
    lda dividends,x
    sta.z dividend
    lda dividends+1,x
    sta.z dividend+1
    // word divisor = divisors[i]
    // [47] test_16u::divisor#0 = test_16u::divisors[test_16u::$11] -- vwuz1=pwuc1_derefidx_vbuxx 
    lda divisors,x
    sta.z divisor
    lda divisors+1,x
    sta.z divisor+1
    // word res = div16u(dividend, divisor)
    // [48] div16u::dividend#0 = test_16u::dividend#0 -- vwuz1=vwuz2 
    lda.z dividend
    sta.z div16u.dividend
    lda.z dividend+1
    sta.z div16u.dividend+1
    // [49] div16u::divisor#0 = test_16u::divisor#0
    // [50] call div16u
    jsr div16u
    // [51] div16u::return#2 = div16u::return#0
    // test_16u::@2
    // [52] test_16u::res#0 = div16u::return#2
    // print_uint(dividend)
    // [53] print_uint::w#1 = test_16u::dividend#0
    // [54] print_char_cursor#169 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // print_uint(dividend)
    // [55] call print_uint
    // [171] phi from test_16u::@2 to print_uint [phi:test_16u::@2->print_uint]
    // [171] phi print_char_cursor#141 = print_char_cursor#169 [phi:test_16u::@2->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#1 [phi:test_16u::@2->print_uint#1] -- register_copy 
    jsr print_uint
    // [56] phi from test_16u::@2 to test_16u::@3 [phi:test_16u::@2->test_16u::@3]
    // test_16u::@3
    // print_str(" / ")
    // [57] call print_str
    // [153] phi from test_16u::@3 to print_str [phi:test_16u::@3->print_str]
    // [153] phi print_str::str#16 = str [phi:test_16u::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    // test_16u::@4
    // print_uint(divisor)
    // [58] print_uint::w#2 = test_16u::divisor#0 -- vwuz1=vwuz2 
    lda.z divisor
    sta.z print_uint.w
    lda.z divisor+1
    sta.z print_uint.w+1
    // [59] call print_uint
    // [171] phi from test_16u::@4 to print_uint [phi:test_16u::@4->print_uint]
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:test_16u::@4->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#2 [phi:test_16u::@4->print_uint#1] -- register_copy 
    jsr print_uint
    // [60] phi from test_16u::@4 to test_16u::@5 [phi:test_16u::@4->test_16u::@5]
    // test_16u::@5
    // print_str(" = ")
    // [61] call print_str
    // [153] phi from test_16u::@5 to print_str [phi:test_16u::@5->print_str]
    // [153] phi print_str::str#16 = str1 [phi:test_16u::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    // test_16u::@6
    // print_uint(res)
    // [62] print_uint::w#3 = test_16u::res#0 -- vwuz1=vwuz2 
    lda.z res
    sta.z print_uint.w
    lda.z res+1
    sta.z print_uint.w+1
    // [63] call print_uint
    // [171] phi from test_16u::@6 to print_uint [phi:test_16u::@6->print_uint]
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:test_16u::@6->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#3 [phi:test_16u::@6->print_uint#1] -- register_copy 
    jsr print_uint
    // [64] phi from test_16u::@6 to test_16u::@7 [phi:test_16u::@6->test_16u::@7]
    // test_16u::@7
    // print_str(" ")
    // [65] call print_str
    // [153] phi from test_16u::@7 to print_str [phi:test_16u::@7->print_str]
    // [153] phi print_str::str#16 = str2 [phi:test_16u::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    // test_16u::@8
    // print_uint(rem16u)
    // [66] print_uint::w#4 = rem16u#0 -- vwuz1=vwuz2 
    lda.z rem16u
    sta.z print_uint.w
    lda.z rem16u+1
    sta.z print_uint.w+1
    // [67] call print_uint
    // [171] phi from test_16u::@8 to print_uint [phi:test_16u::@8->print_uint]
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:test_16u::@8->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#4 [phi:test_16u::@8->print_uint#1] -- register_copy 
    jsr print_uint
    // [68] phi from test_16u::@8 to test_16u::@9 [phi:test_16u::@8->test_16u::@9]
    // test_16u::@9
    // print_ln()
    // [69] call print_ln
    // [160] phi from test_16u::@9 to print_ln [phi:test_16u::@9->print_ln]
    // [160] phi print_line_cursor#41 = print_line_cursor#0 [phi:test_16u::@9->print_ln#0] -- register_copy 
    jsr print_ln
    // test_16u::@10
    // for( byte i : 0..5)
    // [70] test_16u::i#1 = ++ test_16u::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [71] if(test_16u::i#1!=6) goto test_16u::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b1
    // test_16u::@return
    // }
    // [72] return 
    rts
  .segment Data
    dividends: .word $ffff, $ffff, $ffff, $ffff, $ffff, $ffff
    divisors: .word 5, 7, $b, $d, $11, $13
}
.segment Code
  // test_8s
test_8s: {
    .label dividend = 3
    .label divisor = $12
    .label res = $13
    .label i = 2
    // [74] phi from test_8s to test_8s::@1 [phi:test_8s->test_8s::@1]
    // [74] phi test_8s::i#10 = 0 [phi:test_8s->test_8s::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [74] phi from test_8s::@10 to test_8s::@1 [phi:test_8s::@10->test_8s::@1]
    // [74] phi test_8s::i#10 = test_8s::i#1 [phi:test_8s::@10->test_8s::@1#0] -- register_copy 
    // test_8s::@1
  __b1:
    // signed byte dividend = dividends[i]
    // [75] test_8s::dividend#0 = test_8s::dividends[test_8s::i#10] -- vbsz1=pbsc1_derefidx_vbuz2 
    ldy.z i
    lda dividends,y
    sta.z dividend
    // signed byte divisor = divisors[i]
    // [76] test_8s::divisor#0 = test_8s::divisors[test_8s::i#10] -- vbsz1=pbsc1_derefidx_vbuz2 
    lda divisors,y
    sta.z divisor
    // signed byte res = div8s(dividend, divisor)
    // [77] div8s::dividend#0 = test_8s::dividend#0 -- vbsxx=vbsz1 
    ldx.z dividend
    // [78] div8s::divisor#0 = test_8s::divisor#0 -- vbsyy=vbsz1 
    tay
    // [79] call div8s
    jsr div8s
    // [80] div8s::return#3 = div8s::return#2
    // test_8s::@2
    // [81] test_8s::res#0 = div8s::return#3 -- vbsz1=vbsaa 
    sta.z res
    // print_schar(dividend)
    // [82] print_schar::b#1 = test_8s::dividend#0
    // [83] print_char_cursor#164 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // print_schar(dividend)
    // [84] call print_schar
    // [200] phi from test_8s::@2 to print_schar [phi:test_8s::@2->print_schar]
    // [200] phi print_char_cursor#138 = print_char_cursor#164 [phi:test_8s::@2->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#1 [phi:test_8s::@2->print_schar#1] -- register_copy 
    jsr print_schar
    // [85] phi from test_8s::@2 to test_8s::@3 [phi:test_8s::@2->test_8s::@3]
    // test_8s::@3
    // print_str(" / ")
    // [86] call print_str
    // [153] phi from test_8s::@3 to print_str [phi:test_8s::@3->print_str]
    // [153] phi print_str::str#16 = str [phi:test_8s::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    // test_8s::@4
    // print_schar(divisor)
    // [87] print_schar::b#2 = test_8s::divisor#0 -- vbsz1=vbsz2 
    lda.z divisor
    sta.z print_schar.b
    // [88] call print_schar
    // [200] phi from test_8s::@4 to print_schar [phi:test_8s::@4->print_schar]
    // [200] phi print_char_cursor#138 = print_char_cursor#18 [phi:test_8s::@4->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#2 [phi:test_8s::@4->print_schar#1] -- register_copy 
    jsr print_schar
    // [89] phi from test_8s::@4 to test_8s::@5 [phi:test_8s::@4->test_8s::@5]
    // test_8s::@5
    // print_str(" = ")
    // [90] call print_str
    // [153] phi from test_8s::@5 to print_str [phi:test_8s::@5->print_str]
    // [153] phi print_str::str#16 = str1 [phi:test_8s::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    // test_8s::@6
    // print_schar(res)
    // [91] print_schar::b#3 = test_8s::res#0 -- vbsz1=vbsz2 
    lda.z res
    sta.z print_schar.b
    // [92] call print_schar
    // [200] phi from test_8s::@6 to print_schar [phi:test_8s::@6->print_schar]
    // [200] phi print_char_cursor#138 = print_char_cursor#18 [phi:test_8s::@6->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#3 [phi:test_8s::@6->print_schar#1] -- register_copy 
    jsr print_schar
    // [93] phi from test_8s::@6 to test_8s::@7 [phi:test_8s::@6->test_8s::@7]
    // test_8s::@7
    // print_str(" ")
    // [94] call print_str
    // [153] phi from test_8s::@7 to print_str [phi:test_8s::@7->print_str]
    // [153] phi print_str::str#16 = str2 [phi:test_8s::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    // test_8s::@8
    // print_schar(rem8s)
    // [95] print_schar::b#4 = rem8s#10 -- vbsz1=vbsxx 
    stx.z print_schar.b
    // [96] call print_schar
    // [200] phi from test_8s::@8 to print_schar [phi:test_8s::@8->print_schar]
    // [200] phi print_char_cursor#138 = print_char_cursor#18 [phi:test_8s::@8->print_schar#0] -- register_copy 
    // [200] phi print_schar::b#10 = print_schar::b#4 [phi:test_8s::@8->print_schar#1] -- register_copy 
    jsr print_schar
    // [97] phi from test_8s::@8 to test_8s::@9 [phi:test_8s::@8->test_8s::@9]
    // test_8s::@9
    // print_ln()
    // [98] call print_ln
    // [160] phi from test_8s::@9 to print_ln [phi:test_8s::@9->print_ln]
    // [160] phi print_line_cursor#41 = print_line_cursor#0 [phi:test_8s::@9->print_ln#0] -- register_copy 
    jsr print_ln
    // test_8s::@10
    // for( byte i: 0..5 )
    // [99] test_8s::i#1 = ++ test_8s::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [100] if(test_8s::i#1!=6) goto test_8s::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b1
    // test_8s::@return
    // }
    // [101] return 
    rts
  .segment Data
    dividends: .byte $7f, -$7f, -$7f, $7f, $7f, $7f
    divisors: .byte 5, 7, -$b, -$d, $11, $13
}
.segment Code
  // test_16s
test_16s: {
    .label dividend = 6
    .label divisor = $14
    .label res = $e
    .label i = 2
    // [103] phi from test_16s to test_16s::@1 [phi:test_16s->test_16s::@1]
    // [103] phi test_16s::i#10 = 0 [phi:test_16s->test_16s::@1#0] -- vbuz1=vbuc1 
    lda #0
    sta.z i
    // [103] phi from test_16s::@10 to test_16s::@1 [phi:test_16s::@10->test_16s::@1]
    // [103] phi test_16s::i#10 = test_16s::i#1 [phi:test_16s::@10->test_16s::@1#0] -- register_copy 
    // test_16s::@1
  __b1:
    // signed word dividend = dividends[i]
    // [104] test_16s::$11 = test_16s::i#10 << 1 -- vbuxx=vbuz1_rol_1 
    lda.z i
    asl
    tax
    // [105] test_16s::dividend#0 = test_16s::dividends[test_16s::$11] -- vwsz1=pwsc1_derefidx_vbuxx 
    lda dividends,x
    sta.z dividend
    lda dividends+1,x
    sta.z dividend+1
    // signed word divisor = divisors[i]
    // [106] test_16s::divisor#0 = test_16s::divisors[test_16s::$11] -- vwsz1=pwsc1_derefidx_vbuxx 
    lda divisors,x
    sta.z divisor
    lda divisors+1,x
    sta.z divisor+1
    // signed word res = div16s(dividend, divisor)
    // [107] div16s::dividend#0 = test_16s::dividend#0
    // [108] div16s::divisor#0 = test_16s::divisor#0
    // [109] call div16s
    jsr div16s
    // [110] div16s::return#2 = div16s::return#0
    // test_16s::@2
    // [111] test_16s::res#0 = div16s::return#2
    // print_sint(dividend)
    // [112] print_sint::w#1 = test_16s::dividend#0
    // [113] print_char_cursor#160 = print_line_cursor#0 -- pbuz1=pbuz2 
    lda.z print_line_cursor
    sta.z print_char_cursor
    lda.z print_line_cursor+1
    sta.z print_char_cursor+1
    // print_sint(dividend)
    // [114] call print_sint
    // [217] phi from test_16s::@2 to print_sint [phi:test_16s::@2->print_sint]
    // [217] phi print_char_cursor#135 = print_char_cursor#160 [phi:test_16s::@2->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#1 [phi:test_16s::@2->print_sint#1] -- register_copy 
    jsr print_sint
    // [115] phi from test_16s::@2 to test_16s::@3 [phi:test_16s::@2->test_16s::@3]
    // test_16s::@3
    // print_str(" / ")
    // [116] call print_str
    // [153] phi from test_16s::@3 to print_str [phi:test_16s::@3->print_str]
    // [153] phi print_str::str#16 = str [phi:test_16s::@3->print_str#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z print_str.str
    lda #>str
    sta.z print_str.str+1
    jsr print_str
    // test_16s::@4
    // print_sint(divisor)
    // [117] print_sint::w#2 = test_16s::divisor#0 -- vwsz1=vwsz2 
    lda.z divisor
    sta.z print_sint.w
    lda.z divisor+1
    sta.z print_sint.w+1
    // [118] call print_sint
    // [217] phi from test_16s::@4 to print_sint [phi:test_16s::@4->print_sint]
    // [217] phi print_char_cursor#135 = print_char_cursor#18 [phi:test_16s::@4->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#2 [phi:test_16s::@4->print_sint#1] -- register_copy 
    jsr print_sint
    // [119] phi from test_16s::@4 to test_16s::@5 [phi:test_16s::@4->test_16s::@5]
    // test_16s::@5
    // print_str(" = ")
    // [120] call print_str
    // [153] phi from test_16s::@5 to print_str [phi:test_16s::@5->print_str]
    // [153] phi print_str::str#16 = str1 [phi:test_16s::@5->print_str#0] -- pbuz1=pbuc1 
    lda #<str1
    sta.z print_str.str
    lda #>str1
    sta.z print_str.str+1
    jsr print_str
    // test_16s::@6
    // print_sint(res)
    // [121] print_sint::w#3 = test_16s::res#0 -- vwsz1=vwsz2 
    lda.z res
    sta.z print_sint.w
    lda.z res+1
    sta.z print_sint.w+1
    // [122] call print_sint
    // [217] phi from test_16s::@6 to print_sint [phi:test_16s::@6->print_sint]
    // [217] phi print_char_cursor#135 = print_char_cursor#18 [phi:test_16s::@6->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#3 [phi:test_16s::@6->print_sint#1] -- register_copy 
    jsr print_sint
    // [123] phi from test_16s::@6 to test_16s::@7 [phi:test_16s::@6->test_16s::@7]
    // test_16s::@7
    // print_str(" ")
    // [124] call print_str
    // [153] phi from test_16s::@7 to print_str [phi:test_16s::@7->print_str]
    // [153] phi print_str::str#16 = str2 [phi:test_16s::@7->print_str#0] -- pbuz1=pbuc1 
    lda #<str2
    sta.z print_str.str
    lda #>str2
    sta.z print_str.str+1
    jsr print_str
    // test_16s::@8
    // print_sint(rem16s)
    // [125] print_sint::w#4 = rem16s#12 -- vwsz1=vwsz2 
    lda.z rem16s
    sta.z print_sint.w
    lda.z rem16s+1
    sta.z print_sint.w+1
    // [126] call print_sint
    // [217] phi from test_16s::@8 to print_sint [phi:test_16s::@8->print_sint]
    // [217] phi print_char_cursor#135 = print_char_cursor#18 [phi:test_16s::@8->print_sint#0] -- register_copy 
    // [217] phi print_sint::w#10 = print_sint::w#4 [phi:test_16s::@8->print_sint#1] -- register_copy 
    jsr print_sint
    // [127] phi from test_16s::@8 to test_16s::@9 [phi:test_16s::@8->test_16s::@9]
    // test_16s::@9
    // print_ln()
    // [128] call print_ln
    // [160] phi from test_16s::@9 to print_ln [phi:test_16s::@9->print_ln]
    // [160] phi print_line_cursor#41 = print_line_cursor#0 [phi:test_16s::@9->print_ln#0] -- register_copy 
    jsr print_ln
    // test_16s::@10
    // for( byte i: 0..5)
    // [129] test_16s::i#1 = ++ test_16s::i#10 -- vbuz1=_inc_vbuz1 
    inc.z i
    // [130] if(test_16s::i#1!=6) goto test_16s::@1 -- vbuz1_neq_vbuc1_then_la1 
    lda #6
    cmp.z i
    bne __b1
    // test_16s::@return
    // }
    // [131] return 
    rts
  .segment Data
    dividends: .word $7fff, $7fff, -$7fff, -$7fff, $7fff, -$7fff
    divisors: .word 5, -7, $b, -$d, -$11, $13
}
.segment Code
  // memset
// Copies the character c (an unsigned char) to the first num characters of the object pointed to by the argument str.
// void * memset(void *str, char c, unsigned int num)
memset: {
    .const c = ' '
    .const num = $3e8
    .label str = print_screen
    .label end = str+num
    .label dst = 6
    // [133] phi from memset to memset::@1 [phi:memset->memset::@1]
    // [133] phi memset::dst#2 = (char *)memset::str#0 [phi:memset->memset::@1#0] -- pbuz1=pbuc1 
    lda #<str
    sta.z dst
    lda #>str
    sta.z dst+1
    // memset::@1
  __b1:
    // for(char* dst = str; dst!=end; dst++)
    // [134] if(memset::dst#2!=memset::end#0) goto memset::@2 -- pbuz1_neq_pbuc1_then_la1 
    lda.z dst+1
    cmp #>end
    bne __b2
    lda.z dst
    cmp #<end
    bne __b2
    // memset::@return
    // }
    // [135] return 
    rts
    // memset::@2
  __b2:
    // *dst = c
    // [136] *memset::dst#2 = memset::c#0 -- _deref_pbuz1=vbuc1 
    lda #c
    ldy #0
    sta (dst),y
    // for(char* dst = str; dst!=end; dst++)
    // [137] memset::dst#1 = ++ memset::dst#2 -- pbuz1=_inc_pbuz1 
    inc.z dst
    bne !+
    inc.z dst+1
  !:
    // [133] phi from memset::@2 to memset::@1 [phi:memset::@2->memset::@1]
    // [133] phi memset::dst#2 = memset::dst#1 [phi:memset::@2->memset::@1#0] -- register_copy 
    jmp __b1
}
  // div8u
// Performs division on two 8 bit unsigned chars
// Returns dividend/divisor.
// The remainder will be set into the global variable rem8u
// Implemented using simple binary division
// __register(A) char div8u(__register(X) char dividend, __register(A) char divisor)
div8u: {
    // divr8u(dividend, divisor, 0)
    // [139] divr8u::dividend#0 = div8u::dividend#2 -- vbuz1=vbuxx 
    stx.z divr8u.dividend
    // [140] divr8u::divisor#0 = div8u::divisor#2 -- vbuz1=vbuaa 
    sta.z divr8u.divisor
    // [141] call divr8u
    // [228] phi from div8u to divr8u [phi:div8u->divr8u]
    jsr divr8u
    // divr8u(dividend, divisor, 0)
    // [142] divr8u::return#0 = divr8u::return#1 -- vbuaa=vbuz1 
    lda.z divr8u.return
    // div8u::@1
    // [143] div8u::return#0 = divr8u::return#0
    // div8u::@return
    // }
    // [144] return 
    rts
}
  // print_uchar
// Print a char as HEX
// void print_uchar(__zp(3) char b)
print_uchar: {
    .label b = 3
    // b>>4
    // [146] print_uchar::$0 = print_uchar::b#7 >> 4 -- vbuaa=vbuz1_ror_4 
    lda.z b
    lsr
    lsr
    lsr
    lsr
    // print_char(print_hextab[b>>4])
    // [147] print_char::ch#5 = print_hextab[print_uchar::$0] -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [148] call print_char
  // Table of hexadecimal digits
    // [245] phi from print_uchar to print_char [phi:print_uchar->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#142 [phi:print_uchar->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = print_char::ch#5 [phi:print_uchar->print_char#1] -- register_copy 
    jsr print_char
    // print_uchar::@1
    // b&$f
    // [149] print_uchar::$2 = print_uchar::b#7 & $f -- vbuaa=vbuz1_band_vbuc1 
    lda #$f
    and.z b
    // print_char(print_hextab[b&$f])
    // [150] print_char::ch#6 = print_hextab[print_uchar::$2] -- vbuaa=pbuc1_derefidx_vbuaa 
    tay
    lda print_hextab,y
    // [151] call print_char
    // [245] phi from print_uchar::@1 to print_char [phi:print_uchar::@1->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#18 [phi:print_uchar::@1->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = print_char::ch#6 [phi:print_uchar::@1->print_char#1] -- register_copy 
    jsr print_char
    // print_uchar::@return
    // }
    // [152] return 
    rts
}
  // print_str
// Print a zero-terminated string
// void print_str(__zp(6) char *str)
print_str: {
    .label str = 6
    // [154] phi from print_str print_str::@3 to print_str::@1 [phi:print_str/print_str::@3->print_str::@1]
    // [154] phi print_str::str#13 = print_str::str#16 [phi:print_str/print_str::@3->print_str::@1#0] -- register_copy 
    // print_str::@1
  __b1:
    // while(*str)
    // [155] if(0!=*print_str::str#13) goto print_str::@2 -- 0_neq__deref_pbuz1_then_la1 
    ldy #0
    lda (str),y
    cmp #0
    bne __b2
    // print_str::@return
    // }
    // [156] return 
    rts
    // print_str::@2
  __b2:
    // print_char(*(str++))
    // [157] print_char::ch#0 = *print_str::str#13 -- vbuaa=_deref_pbuz1 
    ldy #0
    lda (str),y
    // [158] call print_char
    // [245] phi from print_str::@2 to print_char [phi:print_str::@2->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#18 [phi:print_str::@2->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = print_char::ch#0 [phi:print_str::@2->print_char#1] -- register_copy 
    jsr print_char
    // print_str::@3
    // print_char(*(str++));
    // [159] print_str::str#0 = ++ print_str::str#13 -- pbuz1=_inc_pbuz1 
    inc.z str
    bne !+
    inc.z str+1
  !:
    jmp __b1
}
  // print_ln
// Print a newline
print_ln: {
    // [161] phi from print_ln print_ln::@1 to print_ln::@1 [phi:print_ln/print_ln::@1->print_ln::@1]
    // [161] phi print_line_cursor#21 = print_line_cursor#41 [phi:print_ln/print_ln::@1->print_ln::@1#0] -- register_copy 
    // print_ln::@1
  __b1:
    // print_line_cursor + $28
    // [162] print_line_cursor#0 = print_line_cursor#21 + $28 -- pbuz1=pbuz1_plus_vbuc1 
    lda #$28
    clc
    adc.z print_line_cursor
    sta.z print_line_cursor
    bcc !+
    inc.z print_line_cursor+1
  !:
    // while (print_line_cursor<print_char_cursor)
    // [163] if(print_line_cursor#0<print_char_cursor#18) goto print_ln::@1 -- pbuz1_lt_pbuz2_then_la1 
    lda.z print_line_cursor+1
    cmp.z print_char_cursor+1
    bcc __b1
    bne !+
    lda.z print_line_cursor
    cmp.z print_char_cursor
    bcc __b1
  !:
    // print_ln::@return
    // }
    // [164] return 
    rts
}
  // div16u
// Performs division on two 16 bit unsigned ints
// Returns the quotient dividend/divisor.
// The remainder will be set into the global variable rem16u
// Implemented using simple binary division
// __zp($e) unsigned int div16u(__zp($c) unsigned int dividend, __zp(8) unsigned int divisor)
div16u: {
    .label return = $e
    .label dividend = $c
    .label divisor = 8
    // divr16u(dividend, divisor, 0)
    // [165] divr16u::dividend#1 = div16u::dividend#0
    // [166] divr16u::divisor#0 = div16u::divisor#0
    // [167] call divr16u
    // [249] phi from div16u to divr16u [phi:div16u->divr16u]
    // [249] phi divr16u::divisor#6 = divr16u::divisor#0 [phi:div16u->divr16u#0] -- register_copy 
    // [249] phi divr16u::dividend#5 = divr16u::dividend#1 [phi:div16u->divr16u#1] -- register_copy 
    jsr divr16u
    // divr16u(dividend, divisor, 0)
    // [168] divr16u::return#2 = divr16u::return#0
    // div16u::@1
    // [169] div16u::return#0 = divr16u::return#2
    // div16u::@return
    // }
    // [170] return 
    rts
}
  // print_uint
// Print a unsigned int as HEX
// void print_uint(__zp(6) unsigned int w)
print_uint: {
    .label w = 6
    // print_uchar(BYTE1(w))
    // [172] print_uchar::b#1 = byte1  print_uint::w#5 -- vbuz1=_byte1_vwuz2 
    lda.z w+1
    sta.z print_uchar.b
    // [173] call print_uchar
    // [145] phi from print_uint to print_uchar [phi:print_uint->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#141 [phi:print_uint->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#1 [phi:print_uint->print_uchar#1] -- register_copy 
    jsr print_uchar
    // print_uint::@1
    // print_uchar(BYTE0(w))
    // [174] print_uchar::b#2 = byte0  print_uint::w#5 -- vbuz1=_byte0_vwuz2 
    lda.z w
    sta.z print_uchar.b
    // [175] call print_uchar
    // [145] phi from print_uint::@1 to print_uchar [phi:print_uint::@1->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:print_uint::@1->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#2 [phi:print_uint::@1->print_uchar#1] -- register_copy 
    jsr print_uchar
    // print_uint::@return
    // }
    // [176] return 
    rts
}
  // div8s
// Perform division on two signed 8-bit numbers
// Returns dividend/divisor.
// The remainder will be set into the global variable rem8s.
// Implemented using simple binary division
// Follows the C99 standard by truncating toward zero on negative results.
// See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf section 6.5.5
// __register(A) signed char div8s(__register(X) signed char dividend, __register(Y) signed char divisor)
div8s: {
    .label neg = $10
    // if(dividend<0)
    // [177] if(div8s::dividend#0<0) goto div8s::@1 -- vbsxx_lt_0_then_la1 
    cpx #0
    bmi __b1
    // div8s::@6
    // [178] div8s::dividendu#8 = (char)div8s::dividend#0
    // [179] phi from div8s::@6 to div8s::@2 [phi:div8s::@6->div8s::@2]
    // [179] phi div8s::dividendu#3 = div8s::dividendu#8 [phi:div8s::@6->div8s::@2#0] -- register_copy 
    // [179] phi div8s::neg#3 = 0 [phi:div8s::@6->div8s::@2#1] -- vbuz1=vbuc1 
    lda #0
    sta.z neg
    // div8s::@2
  __b2:
    // if(divisor<0)
    // [180] if(div8s::divisor#0<0) goto div8s::@3 -- vbsyy_lt_0_then_la1 
    cpy #0
    bmi __b3
    // div8s::@7
    // [181] div8s::divisoru#5 = (char)div8s::divisor#0 -- vbuaa=vbuyy 
    tya
    // [182] phi from div8s::@3 div8s::@7 to div8s::@4 [phi:div8s::@3/div8s::@7->div8s::@4]
    // [182] phi div8s::neg#4 = div8s::neg#2 [phi:div8s::@3/div8s::@7->div8s::@4#0] -- register_copy 
    // [182] phi div8s::divisoru#3 = div8s::divisoru#4 [phi:div8s::@3/div8s::@7->div8s::@4#1] -- register_copy 
    // div8s::@4
  __b4:
    // char resultu = div8u(dividendu, divisoru)
    // [183] div8u::dividend#0 = div8s::dividendu#3
    // [184] div8u::divisor#0 = div8s::divisoru#3
    // [185] call div8u
    // [138] phi from div8s::@4 to div8u [phi:div8s::@4->div8u]
    // [138] phi div8u::divisor#2 = div8u::divisor#0 [phi:div8s::@4->div8u#0] -- register_copy 
    // [138] phi div8u::dividend#2 = div8u::dividend#0 [phi:div8s::@4->div8u#1] -- register_copy 
    jsr div8u
    // char resultu = div8u(dividendu, divisoru)
    // [186] div8u::return#2 = div8u::return#0
    // div8s::@9
    // [187] div8s::resultu#0 = div8u::return#2 -- vbuyy=vbuaa 
    tay
    // if(neg==0)
    // [188] if(div8s::neg#4==0) goto div8s::@5 -- vbuz1_eq_0_then_la1 
    lda.z neg
    beq __b5
    // div8s::@8
    // rem8s = -(signed char)rem8u
    // [189] rem8s#1 = - (signed char)rem8u#18 -- vbsxx=_neg_vbsxx 
    txa
    eor #$ff
    clc
    adc #1
    tax
    // return -(signed char)resultu;
    // [190] div8s::return#1 = - (signed char)div8s::resultu#0 -- vbsaa=_neg_vbsyy 
    tya
    eor #$ff
    clc
    adc #1
    // [191] phi from div8s::@5 div8s::@8 to div8s::@return [phi:div8s::@5/div8s::@8->div8s::@return]
    // [191] phi rem8s#10 = rem8s#33 [phi:div8s::@5/div8s::@8->div8s::@return#0] -- register_copy 
    // [191] phi div8s::return#2 = div8s::return#6 [phi:div8s::@5/div8s::@8->div8s::@return#1] -- register_copy 
    // div8s::@return
    // }
    // [192] return 
    rts
    // div8s::@5
  __b5:
    // [193] div8s::return#6 = (signed char)div8s::resultu#0 -- vbsaa=vbsyy 
    tya
    // [194] rem8s#33 = (signed char)rem8u#18
    rts
    // div8s::@3
  __b3:
    // -divisor
    // [195] div8s::divisoru#1 = - div8s::divisor#0 -- vbsyy=_neg_vbsyy 
    tya
    eor #$ff
    clc
    adc #1
    tay
    // neg = neg ^ 1
    // [196] div8s::neg#2 = div8s::neg#3 ^ 1 -- vbuz1=vbuz1_bxor_vbuc1 
    lda #1
    eor.z neg
    sta.z neg
    // [197] div8s::divisoru#4 = (char)div8s::divisoru#1 -- vbuaa=vbuyy 
    tya
    jmp __b4
    // div8s::@1
  __b1:
    // -dividend
    // [198] div8s::dividendu#1 = - div8s::dividend#0 -- vbsaa=_neg_vbsxx 
    txa
    eor #$ff
    clc
    adc #1
    // [199] div8s::dividendu#7 = (char)div8s::dividendu#1 -- vbuxx=vbuaa 
    tax
    // [179] phi from div8s::@1 to div8s::@2 [phi:div8s::@1->div8s::@2]
    // [179] phi div8s::dividendu#3 = div8s::dividendu#7 [phi:div8s::@1->div8s::@2#0] -- register_copy 
    // [179] phi div8s::neg#3 = 1 [phi:div8s::@1->div8s::@2#1] -- vbuz1=vbuc1 
    lda #1
    sta.z neg
    jmp __b2
}
  // print_schar
// Print a signed char as HEX
// void print_schar(__zp(3) signed char b)
print_schar: {
    .label b = 3
    // if(b<0)
    // [201] if(print_schar::b#10<0) goto print_schar::@1 -- vbsz1_lt_0_then_la1 
    lda.z b
    bmi __b1
    // [202] phi from print_schar to print_schar::@3 [phi:print_schar->print_schar::@3]
    // print_schar::@3
    // print_char(' ')
    // [203] call print_char
    // [245] phi from print_schar::@3 to print_char [phi:print_schar::@3->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#138 [phi:print_schar::@3->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = ' ' [phi:print_schar::@3->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    // [204] phi from print_schar::@3 print_schar::@4 to print_schar::@2 [phi:print_schar::@3/print_schar::@4->print_schar::@2]
    // [204] phi print_schar::b#7 = print_schar::b#10 [phi:print_schar::@3/print_schar::@4->print_schar::@2#0] -- register_copy 
    // print_schar::@2
  __b2:
    // print_uchar((char)b)
    // [205] print_uchar::b#0 = (char)print_schar::b#7
    // [206] call print_uchar
    // [145] phi from print_schar::@2 to print_uchar [phi:print_schar::@2->print_uchar]
    // [145] phi print_char_cursor#142 = print_char_cursor#18 [phi:print_schar::@2->print_uchar#0] -- register_copy 
    // [145] phi print_uchar::b#7 = print_uchar::b#0 [phi:print_schar::@2->print_uchar#1] -- register_copy 
    jsr print_uchar
    // print_schar::@return
    // }
    // [207] return 
    rts
    // [208] phi from print_schar to print_schar::@1 [phi:print_schar->print_schar::@1]
    // print_schar::@1
  __b1:
    // print_char('-')
    // [209] call print_char
    // [245] phi from print_schar::@1 to print_char [phi:print_schar::@1->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#138 [phi:print_schar::@1->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = '-' [phi:print_schar::@1->print_char#1] -- vbuaa=vbuc1 
    lda #'-'
    jsr print_char
    // print_schar::@4
    // b = -b
    // [210] print_schar::b#0 = - print_schar::b#10 -- vbsz1=_neg_vbsz1 
    lda.z b
    eor #$ff
    clc
    adc #1
    sta.z b
    jmp __b2
}
  // div16s
// Perform division on two signed 16-bit numbers
// Returns dividend/divisor.
// The remainder will be set into the global variable rem16s.
// Implemented using simple binary division
// Follows the C99 standard by truncating toward zero on negative results.
// See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf section 6.5.5
// __zp($e) int div16s(__zp(6) int dividend, __zp($14) int divisor)
div16s: {
    .label return = $e
    .label dividend = 6
    .label divisor = $14
    // divr16s(dividend, divisor, 0)
    // [211] divr16s::dividend#0 = div16s::dividend#0 -- vwsz1=vwsz2 
    lda.z dividend
    sta.z divr16s.dividend
    lda.z dividend+1
    sta.z divr16s.dividend+1
    // [212] divr16s::divisor#0 = div16s::divisor#0 -- vwsz1=vwsz2 
    lda.z divisor
    sta.z divr16s.divisor
    lda.z divisor+1
    sta.z divr16s.divisor+1
    // [213] call divr16s
    jsr divr16s
    // [214] divr16s::return#3 = divr16s::return#2
    // div16s::@1
    // [215] div16s::return#0 = divr16s::return#3
    // div16s::@return
    // }
    // [216] return 
    rts
}
  // print_sint
// Print a signed int as HEX
// void print_sint(__zp(6) int w)
print_sint: {
    .label w = 6
    // if(w<0)
    // [218] if(print_sint::w#10<0) goto print_sint::@1 -- vwsz1_lt_0_then_la1 
    lda.z w+1
    bmi __b1
    // [219] phi from print_sint to print_sint::@3 [phi:print_sint->print_sint::@3]
    // print_sint::@3
    // print_char(' ')
    // [220] call print_char
    // [245] phi from print_sint::@3 to print_char [phi:print_sint::@3->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#135 [phi:print_sint::@3->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = ' ' [phi:print_sint::@3->print_char#1] -- vbuaa=vbuc1 
    lda #' '
    jsr print_char
    // [221] phi from print_sint::@3 print_sint::@4 to print_sint::@2 [phi:print_sint::@3/print_sint::@4->print_sint::@2]
    // [221] phi print_sint::w#7 = print_sint::w#10 [phi:print_sint::@3/print_sint::@4->print_sint::@2#0] -- register_copy 
    // print_sint::@2
  __b2:
    // print_uint((unsigned int)w)
    // [222] print_uint::w#0 = (unsigned int)print_sint::w#7
    // [223] call print_uint
    // [171] phi from print_sint::@2 to print_uint [phi:print_sint::@2->print_uint]
    // [171] phi print_char_cursor#141 = print_char_cursor#18 [phi:print_sint::@2->print_uint#0] -- register_copy 
    // [171] phi print_uint::w#5 = print_uint::w#0 [phi:print_sint::@2->print_uint#1] -- register_copy 
    jsr print_uint
    // print_sint::@return
    // }
    // [224] return 
    rts
    // [225] phi from print_sint to print_sint::@1 [phi:print_sint->print_sint::@1]
    // print_sint::@1
  __b1:
    // print_char('-')
    // [226] call print_char
    // [245] phi from print_sint::@1 to print_char [phi:print_sint::@1->print_char]
    // [245] phi print_char_cursor#85 = print_char_cursor#135 [phi:print_sint::@1->print_char#0] -- register_copy 
    // [245] phi print_char::ch#7 = '-' [phi:print_sint::@1->print_char#1] -- vbuaa=vbuc1 
    lda #'-'
    jsr print_char
    // print_sint::@4
    // w = -w
    // [227] print_sint::w#0 = - print_sint::w#10 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z w
    sta.z w
    lda #0
    sbc.z w+1
    sta.z w+1
    jmp __b2
}
  // divr8u
// Performs division on two 8 bit unsigned chars and an initial remainder
// Returns dividend/divisor.
// The final remainder will be set into the global variable rem8u
// Implemented using simple binary division
// __zp($13) char divr8u(__zp($11) char dividend, __zp($16) char divisor, __register(Y) char rem)
divr8u: {
    .label dividend = $11
    .label divisor = $16
    .label quotient = $13
    .label return = $13
    // [229] phi from divr8u to divr8u::@1 [phi:divr8u->divr8u::@1]
    // [229] phi divr8u::i#2 = 0 [phi:divr8u->divr8u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [229] phi divr8u::quotient#3 = 0 [phi:divr8u->divr8u::@1#1] -- vbuz1=vbuc1 
    txa
    sta.z quotient
    // [229] phi divr8u::dividend#2 = divr8u::dividend#0 [phi:divr8u->divr8u::@1#2] -- register_copy 
    // [229] phi divr8u::rem#4 = 0 [phi:divr8u->divr8u::@1#3] -- vbuyy=vbuc1 
    tay
    // [229] phi from divr8u::@3 to divr8u::@1 [phi:divr8u::@3->divr8u::@1]
    // [229] phi divr8u::i#2 = divr8u::i#1 [phi:divr8u::@3->divr8u::@1#0] -- register_copy 
    // [229] phi divr8u::quotient#3 = divr8u::return#1 [phi:divr8u::@3->divr8u::@1#1] -- register_copy 
    // [229] phi divr8u::dividend#2 = divr8u::dividend#1 [phi:divr8u::@3->divr8u::@1#2] -- register_copy 
    // [229] phi divr8u::rem#4 = divr8u::rem#10 [phi:divr8u::@3->divr8u::@1#3] -- register_copy 
    // divr8u::@1
  __b1:
    // rem = rem << 1
    // [230] divr8u::rem#1 = divr8u::rem#4 << 1 -- vbuyy=vbuyy_rol_1 
    tya
    asl
    tay
    // dividend & $80
    // [231] divr8u::$1 = divr8u::dividend#2 & $80 -- vbuaa=vbuz1_band_vbuc1 
    lda #$80
    and.z dividend
    // if( (dividend & $80) != 0 )
    // [232] if(divr8u::$1==0) goto divr8u::@2 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq __b2
    // divr8u::@4
    // rem = rem | 1
    // [233] divr8u::rem#2 = divr8u::rem#1 | 1 -- vbuyy=vbuyy_bor_vbuc1 
    tya
    ora #1
    tay
    // [234] phi from divr8u::@1 divr8u::@4 to divr8u::@2 [phi:divr8u::@1/divr8u::@4->divr8u::@2]
    // [234] phi divr8u::rem#5 = divr8u::rem#1 [phi:divr8u::@1/divr8u::@4->divr8u::@2#0] -- register_copy 
    // divr8u::@2
  __b2:
    // dividend = dividend << 1
    // [235] divr8u::dividend#1 = divr8u::dividend#2 << 1 -- vbuz1=vbuz1_rol_1 
    asl.z dividend
    // quotient = quotient << 1
    // [236] divr8u::quotient#1 = divr8u::quotient#3 << 1 -- vbuz1=vbuz1_rol_1 
    asl.z quotient
    // if(rem>=divisor)
    // [237] if(divr8u::rem#5<divr8u::divisor#0) goto divr8u::@3 -- vbuyy_lt_vbuz1_then_la1 
    cpy.z divisor
    bcc __b3
    // divr8u::@5
    // quotient++;
    // [238] divr8u::quotient#2 = ++ divr8u::quotient#1 -- vbuz1=_inc_vbuz1 
    inc.z quotient
    // rem = rem - divisor
    // [239] divr8u::rem#3 = divr8u::rem#5 - divr8u::divisor#0 -- vbuyy=vbuyy_minus_vbuz1 
    tya
    sec
    sbc.z divisor
    tay
    // [240] phi from divr8u::@2 divr8u::@5 to divr8u::@3 [phi:divr8u::@2/divr8u::@5->divr8u::@3]
    // [240] phi divr8u::return#1 = divr8u::quotient#1 [phi:divr8u::@2/divr8u::@5->divr8u::@3#0] -- register_copy 
    // [240] phi divr8u::rem#10 = divr8u::rem#5 [phi:divr8u::@2/divr8u::@5->divr8u::@3#1] -- register_copy 
    // divr8u::@3
  __b3:
    // for( char i : 0..7)
    // [241] divr8u::i#1 = ++ divr8u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [242] if(divr8u::i#1!=8) goto divr8u::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #8
    bne __b1
    // divr8u::@6
    // rem8u = rem
    // [243] rem8u#18 = divr8u::rem#10 -- vbuxx=vbuyy 
    tya
    tax
    // divr8u::@return
    // }
    // [244] return 
    rts
}
  // print_char
// Print a single char
// void print_char(__register(A) char ch)
print_char: {
    // *(print_char_cursor++) = ch
    // [246] *print_char_cursor#85 = print_char::ch#7 -- _deref_pbuz1=vbuaa 
    ldy #0
    sta (print_char_cursor),y
    // *(print_char_cursor++) = ch;
    // [247] print_char_cursor#18 = ++ print_char_cursor#85 -- pbuz1=_inc_pbuz1 
    inc.z print_char_cursor
    bne !+
    inc.z print_char_cursor+1
  !:
    // print_char::@return
    // }
    // [248] return 
    rts
}
  // divr16u
// Performs division on two 16 bit unsigned ints and an initial remainder
// Returns the quotient dividend/divisor.
// The final remainder will be set into the global variable rem16u
// Implemented using simple binary division
// __zp($e) unsigned int divr16u(__zp($c) unsigned int dividend, __zp(8) unsigned int divisor, __zp($a) unsigned int rem)
divr16u: {
    .label rem = $a
    .label dividend = $c
    .label quotient = $e
    .label return = $e
    .label divisor = 8
    // [250] phi from divr16u to divr16u::@1 [phi:divr16u->divr16u::@1]
    // [250] phi divr16u::i#2 = 0 [phi:divr16u->divr16u::@1#0] -- vbuxx=vbuc1 
    ldx #0
    // [250] phi divr16u::quotient#3 = 0 [phi:divr16u->divr16u::@1#1] -- vwuz1=vwuc1 
    txa
    sta.z quotient
    sta.z quotient+1
    // [250] phi divr16u::dividend#3 = divr16u::dividend#5 [phi:divr16u->divr16u::@1#2] -- register_copy 
    // [250] phi divr16u::rem#5 = 0 [phi:divr16u->divr16u::@1#3] -- vwuz1=vbuc1 
    sta.z rem
    sta.z rem+1
    // [250] phi from divr16u::@3 to divr16u::@1 [phi:divr16u::@3->divr16u::@1]
    // [250] phi divr16u::i#2 = divr16u::i#1 [phi:divr16u::@3->divr16u::@1#0] -- register_copy 
    // [250] phi divr16u::quotient#3 = divr16u::return#0 [phi:divr16u::@3->divr16u::@1#1] -- register_copy 
    // [250] phi divr16u::dividend#3 = divr16u::dividend#0 [phi:divr16u::@3->divr16u::@1#2] -- register_copy 
    // [250] phi divr16u::rem#5 = divr16u::rem#11 [phi:divr16u::@3->divr16u::@1#3] -- register_copy 
    // divr16u::@1
  __b1:
    // rem = rem << 1
    // [251] divr16u::rem#0 = divr16u::rem#5 << 1 -- vwuz1=vwuz1_rol_1 
    asl.z rem
    rol.z rem+1
    // BYTE1(dividend)
    // [252] divr16u::$1 = byte1  divr16u::dividend#3 -- vbuaa=_byte1_vwuz1 
    lda.z dividend+1
    // BYTE1(dividend) & $80
    // [253] divr16u::$2 = divr16u::$1 & $80 -- vbuaa=vbuaa_band_vbuc1 
    and #$80
    // if( (BYTE1(dividend) & $80) != 0 )
    // [254] if(divr16u::$2==0) goto divr16u::@2 -- vbuaa_eq_0_then_la1 
    cmp #0
    beq __b2
    // divr16u::@4
    // rem = rem | 1
    // [255] divr16u::rem#1 = divr16u::rem#0 | 1 -- vwuz1=vwuz1_bor_vbuc1 
    lda #1
    ora.z rem
    sta.z rem
    // [256] phi from divr16u::@1 divr16u::@4 to divr16u::@2 [phi:divr16u::@1/divr16u::@4->divr16u::@2]
    // [256] phi divr16u::rem#6 = divr16u::rem#0 [phi:divr16u::@1/divr16u::@4->divr16u::@2#0] -- register_copy 
    // divr16u::@2
  __b2:
    // dividend = dividend << 1
    // [257] divr16u::dividend#0 = divr16u::dividend#3 << 1 -- vwuz1=vwuz1_rol_1 
    asl.z dividend
    rol.z dividend+1
    // quotient = quotient << 1
    // [258] divr16u::quotient#1 = divr16u::quotient#3 << 1 -- vwuz1=vwuz1_rol_1 
    asl.z quotient
    rol.z quotient+1
    // if(rem>=divisor)
    // [259] if(divr16u::rem#6<divr16u::divisor#6) goto divr16u::@3 -- vwuz1_lt_vwuz2_then_la1 
    lda.z rem+1
    cmp.z divisor+1
    bcc __b3
    bne !+
    lda.z rem
    cmp.z divisor
    bcc __b3
  !:
    // divr16u::@5
    // quotient++;
    // [260] divr16u::quotient#2 = ++ divr16u::quotient#1 -- vwuz1=_inc_vwuz1 
    inc.z quotient
    bne !+
    inc.z quotient+1
  !:
    // rem = rem - divisor
    // [261] divr16u::rem#2 = divr16u::rem#6 - divr16u::divisor#6 -- vwuz1=vwuz1_minus_vwuz2 
    lda.z rem
    sec
    sbc.z divisor
    sta.z rem
    lda.z rem+1
    sbc.z divisor+1
    sta.z rem+1
    // [262] phi from divr16u::@2 divr16u::@5 to divr16u::@3 [phi:divr16u::@2/divr16u::@5->divr16u::@3]
    // [262] phi divr16u::return#0 = divr16u::quotient#1 [phi:divr16u::@2/divr16u::@5->divr16u::@3#0] -- register_copy 
    // [262] phi divr16u::rem#11 = divr16u::rem#6 [phi:divr16u::@2/divr16u::@5->divr16u::@3#1] -- register_copy 
    // divr16u::@3
  __b3:
    // for( char i : 0..15)
    // [263] divr16u::i#1 = ++ divr16u::i#2 -- vbuxx=_inc_vbuxx 
    inx
    // [264] if(divr16u::i#1!=$10) goto divr16u::@1 -- vbuxx_neq_vbuc1_then_la1 
    cpx #$10
    bne __b1
    // divr16u::@6
    // rem16u = rem
    // [265] rem16u#0 = divr16u::rem#11
    // divr16u::@return
    // }
    // [266] return 
    rts
}
  // divr16s
// Perform division on two signed 16-bit numbers with an initial remainder.
// Returns dividend/divisor. The remainder will be set into the global variable rem16s.
// Implemented using simple binary division
// Follows the C99 standard by truncating toward zero on negative results.
// See http://www.open-std.org/jtc1/sc22/wg14/www/docs/n1124.pdf section 6.5.5
// __zp($e) int divr16s(__zp($c) int dividend, __zp(8) int divisor, int rem)
divr16s: {
    .label dividendu = $c
    .label divisoru = 8
    .label resultu = $e
    .label return = $e
    .label dividend = $c
    .label divisor = 8
    // if(dividend<0 || rem<0)
    // [267] if(divr16s::dividend#0<0) goto divr16s::@1 -- vwsz1_lt_0_then_la1 
    lda.z dividend+1
    bmi __b1
    // divr16s::@6
    // [268] divr16s::dividendu#8 = (unsigned int)divr16s::dividend#0
    // [269] phi from divr16s::@6 to divr16s::@2 [phi:divr16s::@6->divr16s::@2]
    // [269] phi divr16s::dividendu#3 = divr16s::dividendu#8 [phi:divr16s::@6->divr16s::@2#0] -- register_copy 
    // [269] phi divr16s::neg#3 = 0 [phi:divr16s::@6->divr16s::@2#1] -- vbuyy=vbuc1 
    ldy #0
    // divr16s::@2
  __b2:
    // if(divisor<0)
    // [270] if(divr16s::divisor#0<0) goto divr16s::@3 -- vwsz1_lt_0_then_la1 
    lda.z divisor+1
    bmi __b3
    // divr16s::@7
    // [271] divr16s::divisoru#5 = (unsigned int)divr16s::divisor#0
    // [272] phi from divr16s::@3 divr16s::@7 to divr16s::@4 [phi:divr16s::@3/divr16s::@7->divr16s::@4]
    // [272] phi divr16s::neg#4 = divr16s::neg#2 [phi:divr16s::@3/divr16s::@7->divr16s::@4#0] -- register_copy 
    // [272] phi divr16s::divisoru#3 = divr16s::divisoru#4 [phi:divr16s::@3/divr16s::@7->divr16s::@4#1] -- register_copy 
    // divr16s::@4
  __b4:
    // unsigned int resultu = divr16u(dividendu, divisoru, remu)
    // [273] divr16u::dividend#2 = divr16s::dividendu#3
    // [274] divr16u::divisor#1 = divr16s::divisoru#3
    // [275] call divr16u
    // [249] phi from divr16s::@4 to divr16u [phi:divr16s::@4->divr16u]
    // [249] phi divr16u::divisor#6 = divr16u::divisor#1 [phi:divr16s::@4->divr16u#0] -- register_copy 
    // [249] phi divr16u::dividend#5 = divr16u::dividend#2 [phi:divr16s::@4->divr16u#1] -- register_copy 
    jsr divr16u
    // unsigned int resultu = divr16u(dividendu, divisoru, remu)
    // [276] divr16u::return#3 = divr16u::return#0
    // divr16s::@9
    // [277] divr16s::resultu#0 = divr16u::return#3
    // if(neg==0)
    // [278] if(divr16s::neg#4==0) goto divr16s::@5 -- vbuyy_eq_0_then_la1 
    cpy #0
    beq __breturn
    // divr16s::@8
    // rem16s = -(signed int)rem16u
    // [279] rem16s#1 = - (int)rem16u#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z rem16s
    sta.z rem16s
    lda #0
    sbc.z rem16s+1
    sta.z rem16s+1
    // return -(signed int)resultu;
    // [280] divr16s::return#1 = - (int)divr16s::resultu#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z return
    sta.z return
    lda #0
    sbc.z return+1
    sta.z return+1
    // [281] phi from divr16s::@5 divr16s::@8 to divr16s::@return [phi:divr16s::@5/divr16s::@8->divr16s::@return]
    // [281] phi rem16s#12 = rem16s#38 [phi:divr16s::@5/divr16s::@8->divr16s::@return#0] -- register_copy 
    // [281] phi divr16s::return#2 = divr16s::return#6 [phi:divr16s::@5/divr16s::@8->divr16s::@return#1] -- register_copy 
    // divr16s::@return
  __breturn:
    // }
    // [282] return 
    rts
    // divr16s::@5
    // [283] divr16s::return#6 = (int)divr16s::resultu#0
    // [284] rem16s#38 = (int)rem16u#0
    // divr16s::@3
  __b3:
    // -divisor
    // [285] divr16s::divisoru#1 = - divr16s::divisor#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z divisoru
    sta.z divisoru
    lda #0
    sbc.z divisoru+1
    sta.z divisoru+1
    // neg = neg ^ 1
    // [286] divr16s::neg#2 = divr16s::neg#3 ^ 1 -- vbuyy=vbuyy_bxor_vbuc1 
    tya
    eor #1
    tay
    // [287] divr16s::divisoru#4 = (unsigned int)divr16s::divisoru#1
    jmp __b4
    // divr16s::@1
  __b1:
    // -dividend
    // [288] divr16s::dividendu#1 = - divr16s::dividend#0 -- vwsz1=_neg_vwsz1 
    lda #0
    sec
    sbc.z dividendu
    sta.z dividendu
    lda #0
    sbc.z dividendu+1
    sta.z dividendu+1
    // [289] divr16s::dividendu#7 = (unsigned int)divr16s::dividendu#1
    // [269] phi from divr16s::@1 to divr16s::@2 [phi:divr16s::@1->divr16s::@2]
    // [269] phi divr16s::dividendu#3 = divr16s::dividendu#7 [phi:divr16s::@1->divr16s::@2#0] -- register_copy 
    // [269] phi divr16s::neg#3 = 1 [phi:divr16s::@1->divr16s::@2#1] -- vbuyy=vbuc1 
    ldy #1
    jmp __b2
}
  // File Data
.segment Data
  print_hextab: .text "0123456789abcdef"
  str: .text " / "
  .byte 0
  str1: .text " = "
  .byte 0
  str2: .text " "
  .byte 0

